Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php UPDATE PREADED语句执行时没有错误,但表未更新_Php_Sql_Mysqli - Fatal编程技术网

Php UPDATE PREADED语句执行时没有错误,但表未更新

Php UPDATE PREADED语句执行时没有错误,但表未更新,php,sql,mysqli,Php,Sql,Mysqli,我将数据插入到一个表中,然后更新一些未插入值的字段。代码运行时没有任何错误,但字段不会得到更新 这是我的密码: $mysqli = new mysqli("localhost", "root", "", "mydb"); $stmt = $mysqli->prepare("UPDATE my_table SET field1=?, field2=?,

我将数据插入到一个表中,然后更新一些未插入值的字段。代码运行时没有任何错误,但字段不会得到更新

这是我的密码:

$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();
列和变量的名称已更改,但在原始代码中,它们与现有列匹配


非常感谢。

我不太明白您的意思,但您可以试试这段代码

$updateinfo = $mysqli->query("Update setting SET
field1='$field1', 
field2='$field2'
");
解决任何mysqli更新问题的完整检查表
  • 为mysqli设置错误报告

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    
    (在mysqli_connect之前添加一次此行)

  • 对于PHP也是如此

    ini_set('display_errors',1);
    error_reporting(E_ALL);
    
  • 如果肯定没有错误,那么
    • 要么是要排成一行,以匹配clasue所在的位置
    • 或者所有字段都已更新
  • 如果你认为上面的项目是不可能的,那么应该归咎于某种打字错误。就像你正在编辑错误的脚本,检查错误的数据库等。仔细检查一切。再说一遍
  • 我看到一个

      $info['12'],
    
    在你的下一个最后一个绑定中


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

    您如何知道没有错误?您是否检查了
    $stmt->execute()
    的返回状态,或者查看了
    $stmt->error
    ?Mike,是的,我检查了,没有错误。谢谢。您确定id与数据库中的id匹配吗?您确定
    bind_param
    的第一个参数中的列类型正确吗?通常ID是一个整数。@Barmar我更改了它,现在它绑定了一个整数,但也不起作用。非常感谢。