我試圖更新多個記錄使用一種形式,但已嘗試使用功能時遇到問題。使用數組PHP的addslashes
的形式如下:
<form name="form1" method="post" action="editnewscategorysubmit.php">
<table width="405">
<tr>
<td width="246"><span class="link1">News Category </span></td>
<td width="146" colspan="2"><span class="link1">Delete?</span></td>
</tr>
<tr>
<td>
<input type='text' name='title[]' value='$title' style='width:700px;'>
<input type='hidden' name='id[]' value='$id'>
</td>
<td>
<div style='padding-left:8px;'><a onclick='return confirmSubmit()' href='deletenewscategory.php?id=$id'><img src='images/delete.jpg' border='0'></a></div>
</td>
</tr>
<tr>
<td><input name="image" type="image" src="images/submit.png" alt="Submit Form" border="0" /></td>
<td colspan="2"> </td>
</tr>
</table>
</form>
是處理這個看起來像這樣的PHP代碼:
$identity = $_REQUEST['id'];
$title = addslashes($_REQUEST['title']);
include 'connection.php';
for($i=0;$i<count($identity);$i++)
{
$query = "update newscategory set title = '$title[$i]' where id = '$identity[$i]'";
$result = mysql_query($query) or die(mysql_error());
}
echo "Success. The news categories were updated.";
include 'return.php';
返回的警告是:
警告:和addslashes ()期望參數1是字符串,在 /home/u180175506/public_html/editnewscategorysubmit.php中給出的數組上線71
我所試圖做的是和addslashes(或從什麼我讀,使用mysql_real_escape_string
是首選!),以之前更新表的每個值。有什麼我失蹤?謝謝!
你不應該使用mysql_ *功能更多,他們在10年前所取代...... – JimL
我很好,你使用mysql_函數(提供你意識到的警告),但使用addslashes()來轉義查詢參數是一個真的,真的很糟糕的主意。 – symcbean