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()
--更新--
我真的很感谢大家的关心,但让我谈谈一些事情:
die
语句中mysql\u error()。。。根本没有错误
您是否尝试过检查
$sessionid
的值是多少die()
更改为
mysql_query($query) or die (mysql_error());
你试过检查
$sessionid
的值是多少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())
错误是
数据库更新失败:引擎无法更新自动增量
似乎发生了此错误,我忽略了将自动递增框复制到数据库中