2014-02-12 244 views
-2

好的我有下面的代码,但我的sql查询不会显示结果,所以我总结sql语句一定是错的?sql php where statement not working correctly

请有人让我知道我做错了什么吗?

感谢

$result=mysqli_query("SELECT * FROM Persons WHERE Day = '".$_POST['Day']."' AND Time = '".$_POST['Time']."'"); 
echo "Query Runs"; 

echo "<table border='1'> 
<tr> 
<th>Name</th> 
<th>Day</th> 
<th>Time</th> 
<th>Reg</th> 
</tr>"; 
echo "Delete a Booking today "; 
while($row = mysqli_fetch_array($query)) 
    { 
    echo "<tr>"; 
    echo "<td>" . $row['Name'] . "</td>"; 
    echo "<td>" . $row['Day'] . "</td>"; 
    echo "<td>" . $row['Time'] . "</td>"; 
    echo "<td>" . $row['Reg'] . "</td>"; 
    echo "</tr>"; 
    } 
echo "</table>"; 

这是无法正常运转的下面将要运行的SQL语句。 $ result = mysqli_query(“SELECT * FROM Persons WHERE Day ='”。$ _ POST ['Day']。''AND Time ='“。$ _ POST ['Time']。”'“);

的下面都不会返回结果之一:

$result=mysqli_query("SELECT * FROM Persons WHERE Day = '".$_POST['Day']."' AND Time = '".$_POST['Time']."'"; 


$result=mysqli_query("SELECT * FROM Persons WHERE Day = '$_POST[Day]' AND Time = '$_POST[Time]' ") 
+0

是否确定POST值可用? –

+1

omg你的查询....使用mysqli并不意味着你是从sql注入安全...哦,你也需要执行查询 –

+0

你应该包括'DAY''$ _POST ['Day']'和' $ _POST ['Time']' – marsze

回答

0

你忘了执行SQL查询。

$query=mysqli_query("SELECT * FROM Persons WHERE DAY = '".$_POST['Day']."' AND Time = '".$_POST['Time']."'"); 
+0

这是用户需要.. – Jenz

+0

你的意思是脆弱的查询?怎么样 ? –

+0

,可能由用户添加..任何方式用户已经共享只有一部分代码.. – Jenz

1

daytime在MySQL被保留。

使用返回刻度`,以便它们不会将它们作为保留名称而是作为表名称读取。

$query=mysqli_query("SELECT * FROM Persons WHERE `DAY` = '".$_POST['Day']."' AND `Time` = '".$_POST['Time']."'"); 

此外,此代码易受sql攻击。请正确使用mysqlihere