0

我将数据插入表中,然后更新一些未插入值的字段。该代码可以正常工作,但不会更新字段。

这是我的代码:

$mysqli = new mysqli("localhost", "root", "", "mydb");

$stmt = $mysqli->prepare("UPDATE my_table SET   field1=?, 
                                                field2=?,
                                                field3=?,
                                                field4=?,
                                                field5=?,
                                                field6=?,
                                                field7=?,
                                                field8=?,
                                                field9=?,
                                                field10=?,
                                                field11=?,
                                                field12=?,
                                                field13=?,
                                                updateTime=now()
                         WHERE id=?"); 

$stmt->bind_param('isssssssssssss', $info['x'],
                                    $info['x2'],
                                    $info['x3'],
                                    $info['x4'],
                                    $info['x5'],
                                    $info['x6'],
                                    $info['x7'],
                                    $info['x8'],
                                    $info['x9'],
                                    $info['x10'],
                                    $info['x11'],
                                    $info['12'],
                                    $info['x13'],
                                    $_GET['id']);

$stmt->execute();

列和变量的名称已更改,但在原始代码中,它们与现有列匹配。

非常感谢。

4

3 回答 3

2

解决任何 mysqli 更新问题的完整清单

  1. 为 mysqli设置错误报告:

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    

    (添加此行一次,就在 mysqli_connect 之前)

  2. 也适用于 PHP

    ini_set('display_errors',1);
    error_reporting(E_ALL);
    
  3. 如果肯定没有错误,那么
    • 要么有行来匹配 WHERE 子句
    • 或所有字段都已更新
  4. 如果您认为上述项目没有问题 - 那么应该归咎于某种类似错字的错误。就像您正在编辑错误的脚本,检查错误的数据库等。仔细检查一切。然后再一次。
于 2013-09-08T23:50:44.997 回答
0

我看到一个

  $info['12'],

在您的倒数第二个绑定中。

除此之外,我们不可能明确地找到错误,因为您没有向我们展示您实际尝试执行的代码。

于 2013-09-09T00:07:40.917 回答
-1

我不太了解你,但你可以试试这段代码

$updateinfo = $mysqli->query("Update setting SET
field1='$field1', 
field2='$field2'
");
于 2013-09-08T22:43:00.820 回答