-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'"
希望所以這個解釋可能是清楚的理解目的,你可以更好地編寫代碼。
快樂編碼:)
我提供了一個解決方案。分享有關我的代碼的想法。如果你在開發中遇到任何障礙,請告訴我。 –