1

我尝试使用 PHP 将数据从 HTML 文本字段更新到数据库。我想更新通知字段。我无法获取 SQL 查询的文本字段值。这是我的代码:

$result = mysql_query($query) or die (mysql_error()); // Run query
    while($row = mysql_fetch_array($result)) { ?> 
        <tr><td><?php echo $row[0];?></td>      
        <td><?php echo $row[1];?></td>
        <td><?php echo $row[2];?></td>
        <td><?php echo $row[3];?></td>
        <td><?php echo $row[4];?></td>
        <td><input type="text" name="notifications" value="<?php echo $row[5];?>" size=13></td></tr>
<?php 
if (isset($_POST['save'])) { 
    for($i = 0; $i < $count; $i++) // For loop
    {
        $id=mysql_result($result,$i,"id"); // Get id from query
        $notifications = $_POST['notifications'];
        $update = "UPDATE testtable SET notifications = {$notifications[$i]} WHERE id = {$id}";
        echo "$update<br>";
        //mysql_query($update); // Run
    } 
4

1 回答 1

0

看起来通知字段可能是一个字符串,因此您需要使用如下引号对其进行转义:

$update = "UPDATE testtable SET notifications = '{$notifications[$i]}' WHERE id = {$id}";

您的代码很容易受到注入攻击,您应该使用准备好的语句并转移到 PDO 或 msqli 以抵御潜在的攻击。

于 2012-07-25T14:06:16.750 回答