mysql_query更新不会更新

时间:2012-08-31 02:34:05

标签: php mysql

运行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文件仍为空,请帮助。

3 个答案:

答案 0 :(得分: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']的数据,如果是这种情况则使用{{1在插入查询中代替SET user_ip='$get_ip['user_ip']'

答案 1 :(得分:0)

if($get_ip['user_ip']== '')
除非$ get_ip ['user_ip']为空,否则

将无效。

使用

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

代替

答案 2 :(得分:0)

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

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

  • 如果您的查询字符串不符合预期,则会出现代码错误。
  • 如果您的查询符合您的预期,并在数据库工具中运行,那么您就是 您正在使用的用户帐户可能存在权限问题 你的连接字符串。
  • 如果您的查询符合预期,但在您的查询中无法正常运行 数据库工具,您的问题很可能是架构错误。