运行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文件仍为空,请帮助。
答案 0 :(得分:1)
我可以在你的剧本上看到两件事。
您正在使用if($get_ip['user_ip']== '')
语句,该语句将在$get_ip['user_ip']
仅为空时插入数据,或者在$get_ip['user_ip']
包含某些数据时忽略插入数据。
您在更新查询中使用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)。打开数据库,然后打开您要定位的表,然后使用查询编辑器运行查询(粘贴您之前复制的输出)。