[英]mysql update query (containing 'where' syntax) not working
I have a mysql table like this (sql): 我有一个这样的mysql表(sql):
CREATE TABLE IF NOT EXISTS
silver_and_pgm
(_metal_name
varchar(30) NOT NULL,_bid
varchar(30) NOT NULL,_change
varchar(30) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;如果不存在则创建表
silver_and_pgm
(_metal_name
varchar(30)NOT NULL,_bid
varchar(30)NOT NULL,_change
varchar(30)NOT NULL)ENGINE = MyISAM DEFAULT CHARSET = latin1;--
-
-- Dumping data for table
silver_and_pgm
-转储表
silver_and_pgm
数据INSERT INTO
silver_and_pgm
(_metal_name
,_bid
,_change
) VALUES ('Silver\\r\\n', '555', '-0.22\\r\\n'), ('Platinum\\r\\n', '555', '-9.00\\r\\n'), ('Palladium\\r\\n', '555', '0.00\\r\\n'), ('Rhodium\\r\\n', '555', '0.00\\r\\n');插入到
silver_and_pgm
(_metal_name
,_bid
,_change
)值('Silver \\ r \\ n','555','-0.22 \\ r \\ n'),('Platinum \\ r \\ n','555','-9.00 \\ r \\ n'),('钯\\ r \\ n','555','0.00 \\ r \\ n'),('铑\\ r \\ n','555','0.00 \\ r \\ n') ;
and i am using the following code to update a row which contains metal_name as Silver 我正在使用以下代码更新包含metal_name作为Silver的行
<?php
$username = "root";
$password = "1234";
$database = "kitco";
$con=mysql_connect(localhost,$username,$password);
mysql_select_db($database) or die( "Unable to select database");
$bid = '101010';
$metal_name = 'Silver';
$query = "update silver_and_pgm set _bid='$bid' where _metal_name='$metal_name'";
//$query2 = "update silver_and_pgm set _bid='444'";;
echo $query."<br>";
$result = mysql_query($query);
if(!$result)echo "error";
?>
but $query doesn't work . 但是$ query不起作用。 it works fine if I use $query2 .
如果我使用$ query2,它工作正常。 If I use the same query directly in SQL of phpmyadmin result is same.
如果我直接在phpmyadmin的SQL中使用相同的查询,则结果是相同的。 what is the problem with $query .
$ query有什么问题? I think its correct.
我认为它是正确的。 Would anybody please find the bug ??
有人可以找到错误吗?
看起来您在数据库中的_metal_name中有一个换行符,SQL查询显示Silver\\r\\n
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.