-1

运行 UPDATE 查询的 mysql_query 对我不起作用,我做错了什么?

if($get_ip['user_ip']== ''){
    $insert_ip = mysql_query("UPDATE user SET user_ip='$user_ip' WHERE username='$username' AND password='$password'");
     if(!$insert_ip){
         $message = 'invalid query'.mysql_error();
         die($message);
     }else{
         echo ('success!');
     };
};

基本上我试图用值 ip_user 更新 user_ip 行的表用户,如果 user_ip 字段当然是空的。

因此,没有任何更新,并且 user_ip 文件仍然为空,请帮助。

4

3 回答 3

1

我可以在您的脚本中看到两件事。

  1. 您正在使用if($get_ip['user_ip']== '')语句,该语句$get_ip['user_ip']仅在为空时插入数据,或者在$get_ip['user_ip']有数据时将忽略插入数据。

  2. 您正在使用SET user_ip='$user_ip'更新查询,我可能不正确,但是我假设您正在尝试从 存储数据$get_ip['user_ip'],如果这是这种情况,请使用SET user_ip='$get_ip['user_ip']'而不是SET user_ip='$user_ip'您的插入查询。

于 2012-08-31T05:47:30.213 回答
0
if($get_ip['user_ip']== '')

除非 $get_ip['user_ip'] 为空,否则将不起作用。

利用

if(!empty($get_ip['user_ip']))

反而

于 2012-08-31T02:39:04.097 回答
0

这里有很多错误,但为了提供帮助:

将查询字符串分配给变量,而不是直接将其注入mysql_query函数中。然后,echo这个字符串出来了。这将显示您希望发送到数据库。将该输出复制到某处,然后登录到用于管理数据库的任何内容(我假设它将是 phpMyAdmin)。打开您的数据库,然后打开您要定位的表,然后使用查询编辑器运行您的查询(粘贴您之前复制的输出)。

  • 如果您的查询字符串不是您所期望的,那么您有一个代码错误。
  • 如果您的查询符合您的预期,并且在数据库工具中运行,则您在连接字符串中使用的用户帐户可能存在权限问题。
  • 如果您的查询符合预期,但未在您的数据库工具中正确运行,则您的问题很可能是架构错误。
于 2012-08-31T06:06:44.333 回答