我試圖尋找解決方案,但找不到一個解決方案。在我的PHP頁面上,我試圖在兩個條件下搜索記錄,如果用戶在搜索框中輸入內容然後根據該內容顯示,並且如果他不搜索任何內容,則從表中顯示記錄。試圖在php下運行兩個sql查詢,如果其他條件?
我得到的所有記錄,但無法獲取記錄時,我用他們的名字搜索他們。
<?php
if(isset($_POST['search']))
{
$name=$_POST['src'];
$qry1=mysqli_query($connection,"select * from test_history where
username='$name'");
}
else
{
$qry1=mysqli_query($connection,"select * from test_history");
$counter=0;
while($ftc=mysqli_fetch_array($qry1))
echo
'<tr>
<td align="center"> '.++$counter.' </td>
<td> '.$ftc['username'].' </td>
<td> '.$ftc['enrollment'].' </td>
<td> '.$ftc['test_cat'].' </td>
<td> '.$ftc['test_name'].' </td>
<td> '.$ftc['score'].'% </td>
<td> '.$ftc['test_date'].' </td> </tr>';
}
if(isset($_POST['submit']))
{
$dlt=mysqli_query($connection,"delete from test_history");
}
?>
*發生了什麼?這個失敗具體如何?注意:你的代碼對SQL注入非常開放(所以我們不知道你實際運行的是什麼SQL查詢)並且你沒有用'mysqli_error($ connection)'檢查錯誤(所以你不知道是否/查詢失敗的方式)。 – David
它沒有輸出任何結果只是空表。錯誤代碼被寫入另一個文件,未列出。對不起,我是PHP的新手,每天都在學習。你能告訴我什麼是防止SQL注入的最佳方法!順便說一句,我的問題已解決。 –
不確定您的意思是「錯誤代碼是否寫入另一個文件」。你應該看看'mysqli_error'函數來檢查代碼中的錯誤。至於SQL注入,這是一個很好的開始:https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php – David