-4
$sql = "SELECT n_asiento FROM asiento WHERE estado='Libre' and n_asiento like '%".$clase."%'" and "ruta"="'".$ruta."'";
可以解决一些这对我来说我请感到困惑与撇号和扁虱,非常感谢你!
$sql = "SELECT n_asiento FROM asiento WHERE estado='Libre' and n_asiento like '%".$clase."%'" and "ruta"="'".$ruta."'";
可以解决一些这对我来说我请感到困惑与撇号和扁虱,非常感谢你!
Like查询您错过了以错误方式引用变量的引号。
LIKE
- LIKE运算符用于搜索列中的指定模式。
语法:
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;
被允许在LIKE语句模式的不同类型:
方法一:
SELECT * FROM users
WHERE name LIKE 's%';
下面的SQL语句选择所有用户开始名称与字母“s”:
方法二:
SELECT * FROM users
WHERE name LIKE '%s';
下面的SQL语句选择所有用户结尾以字母 “小号一个名为” :
方法三:
SELECT * FROM users
WHERE name LIKE '%kumar%';
下面的SQL语句选择所有用户提供包含模式“库马尔一个名为” :
你必须使用这样的查询。您错过了您在LIKE语句中附加的变量的引号。
因此你的查询应该是这样的。
$sql = "SELECT `n_asiento` FROM `asiento` WHERE `estado`='Libre' AND `n_asiento` LIKE '%".$clase."%' AND `ruta` ='".$ruta."'";
因此整个代码如下:
<?php
if(isset($_POST['cla']))
{
$ruta = $_POST['id'];
$clase = $_POST['cla'];
$servername = "localhost";
$username="root";
$password="root";
$dbname="sct";
$conn=mysqli_connect($servername,$username,$password,$dbname);
if(!$conn)
{
die("Connection failed:".mysqli_connect_error());
}
else
{
$sql = "SELECT `n_asiento` FROM `asiento` WHERE `estado`='Libre' AND `n_asiento` LIKE '%".$clase."%' AND `ruta` ='".$ruta."'";
$result = mysqli_query($conn,$sql);
$hola = mysqli_num_rows($result);
if($hola==0)
{
// Handle if the Count is Zero
}
else
{
// handle if the Count is not equal to zero
}
}
}
?>
注:你先放回声SELECT语句,然后通过将出口突破执行;并复制回显的语句并将其放入DB的SQL中,然后检查插入时是否发生错误。如果没有发生错误,请删除回显并删除退出;
上面的例子中的示例场景:
如果岗位价值似乎是这样的:
$ruta = 10;
$clase = test;
如果您呼应$sql
声明你应该得到这样的。
"SELECT `n_asiento` FROM `asiento` WHERE `estado`='Libre' AND `n_asiento` LIKE 'test' AND `ruta` ='10'"
希望所以这个解释可能是清楚的理解目的,你可以更好地编写代码。
快乐编码:)
我提供了一个解决方案。分享有关我的代码的想法。如果你在开发中遇到任何障碍,请告诉我。 –