Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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、mysql\u查询不起作用_Php_Mysql_Phpmyadmin_Sql Update - Fatal编程技术网

PHP、mysql\u查询不起作用

PHP、mysql\u查询不起作用,php,mysql,phpmyadmin,sql-update,Php,Mysql,Phpmyadmin,Sql Update,我准备把头发拔出来 这非常有效: $link = mysql_connect('localhost', 'prototype_wp_usr', 'password') or die("Error: " . mysql_error()); mysql_select_db('prototype_wp'); $query = "INSERT INTO wp_zsession_capture (id, session_id, user_login, first_name, last_na

我准备把头发拔出来

这非常有效:

$link = mysql_connect('localhost', 'prototype_wp_usr', 'password') or die("Error: " . mysql_error());
mysql_select_db('prototype_wp');
$query = "INSERT INTO wp_zsession_capture
        (id, session_id, user_login, first_name, last_name, user_email, phone_number, last_conviction)
        VALUES (
            'NULL', 
            '". session_id() ."',
            '". $_POST['user_login'] ."',
            '". $_POST['first_name'] ."',
            '". $_POST['last_name'] ."',
            '". $_POST['user_email'] ."',
            '". $_POST['phone_number'] ."',
            '". $_POST['last_conviction'] ."'
        )";

mysql_query($query) or die ('Error updating database: ' . mysql_error());
mysql_close($link);
这不起作用:

$link = mysql_connect('localhost', 'prototype_wp_usr', 'password') or die("Error: " . mysql_error());
mysql_select_db('prototype_wp');
$query = "UPDATE wp_zsession_capture SET removed = 1 WHERE session_id = '$sessionid'";

mysql_query($query) or die ('Error updating database: ' . mysql_error());
mysql_close($link);
这两段代码在一个表单中。。。如果表单中有错误,则运行第一个sql查询以保存会话中此时的内容。如果没有错误,并且在执行其他操作之后,将运行第二个sql查询来更新以前保存的条目中的“已删除”状态

我一直在修补一百万个可选语法,但我无法更新这些行。当我在phpMyAdmin中执行原始SQL时,它工作得很好。这没有什么逻辑可言。。。也许我只是太累了

仅供参考:$sessionid=session_id()

--更新--

我真的很感谢大家的关心,但让我谈谈一些事情:

  • 是的,我的表中有一列名为“已删除”。。。你是认真的吗P
  • 我当然在使用session_start()
  • 是的,我正在检查$sessionid以确保它被调用。它一直在页面上回响,也在我执行的任何
    die
    语句中
  • 第一个查询负责创建第二个查询应该更新的行。。。所以数据就在那里
  • mysql\u error()。。。根本没有错误
  • 我再次感谢你的关注,但到目前为止,所有建议都被反复尝试


    您是否尝试过检查

  • 调用脚本时,
    $sessionid
    的值是多少
  • mysql返回什么错误(如果有)
  • 您可以通过将
    die()
    更改为

    mysql_query($query) or die (mysql_error());
    

    你试过检查

  • 调用脚本时,
    $sessionid
    的值是多少
  • mysql返回什么错误(如果有)
  • 您可以通过将
    die()
    更改为

    mysql_query($query) or die (mysql_error());
    

    不知道为什么第二个查询不执行。如果看不到数据库表的模式,也不发布服务器生成的错误消息的内容,就很难为您提供帮助。但与此同时,我强烈建议你花点时间研究一下吸烟的危害


    在处理
    会话id()之前,可能还需要确保调用
    会话\u start()

    不知道为什么第二个查询不执行。如果看不到数据库表的模式,也不发布服务器生成的错误消息的内容,就很难为您提供帮助。但与此同时,我强烈建议你花点时间研究一下吸烟的危害

    在处理
    会话id()之前,可能还需要确保调用
    会话\u start()

    使用
    mysql\u error()
    从数据库获取错误消息,如下所示:

    mysql_query($query) or die ('Error updating database: '.mysql_error());
    
    该错误可能是许多事情之一,例如,用户可能没有删除权限。如果不使用
    mysql\u error()
    就无法知道发生了什么

    编辑会话id列中的数据看起来短得可疑。检查
    session\u id
    返回的字符串的长度,并检查数据库中的列长度。插入对列来说太长的数据不是错误,但会裁剪数据。

    使用
    mysql\u error()
    从数据库获取错误消息,如下所示:

    mysql_query($query) or die ('Error updating database: '.mysql_error());
    
    该错误可能是许多事情之一,例如,用户可能没有删除权限。如果不使用
    mysql\u error()
    就无法知道发生了什么


    编辑会话id列中的数据看起来短得可疑。检查
    session\u id
    返回的字符串的长度,并检查数据库中的列长度。插入对列来说太长的数据不是错误,但会裁剪数据。

    mysql\u error()返回空白的一个可能原因是同时打开了多个连接。我最近在将脚本转移到较新的PHP服务器/版本时遇到了这个问题。尝试在调用中提供连接句柄,如:mysql\u error($link)

    这将帮助您找到错误所在,了解这一点将帮助我们回答您的问题

    而且,尽管您声明不担心注入攻击,但您应该始终避开来自用户/可疑来源的所有数据。至少在放入数据库的每个$\u GET、$\u POST、$\u COOKIE、$\u请求和$\u服务器变量周围使用mysql\u real\u escape\u string()。我让你看看小鲍比桌子的故事


    ()

    mysql_error()返回空白的一个可能原因是同时打开了多个连接。我最近在将脚本转移到较新的PHP服务器/版本时遇到了这个问题。尝试在调用中提供连接句柄,如:mysql\u error($link)

    这将帮助您找到错误所在,了解这一点将帮助我们回答您的问题

    而且,尽管您声明不担心注入攻击,但您应该始终避开来自用户/可疑来源的所有数据。至少在放入数据库的每个$\u GET、$\u POST、$\u COOKIE、$\u请求和$\u服务器变量周围使用mysql\u real\u escape\u string()。我让你看看小鲍比桌子的故事


    ()

    取消选中数据库结构中的自动递增框,然后再次选中以保存自动递增结构,您的问题将得到解决。我在做这件事的时候犯了这样的错误

    mysql_query($query)或die(mysql_error())

    错误是

    数据库更新失败:引擎无法更新自动增量


    似乎发生了此错误,我忽略了将自动递增框复制到数据库中