mysql更新查询(包含'where'语法)不起作用

时间:2011-11-08 04:54:22

标签: php mysql

我有一个像这样的mysql表(sql):

  

CREATE TABLE IF NOT 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

的数据      

INSERT INTO silver_and_pgm_metal_name_bid_change)价值观   ('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');

我正在使用以下代码更新包含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";

?>

但是$ query不起作用。如果我使用$ query2它工作正常。如果我在phpmyadmin的SQL中直接使用相同的查询结果是一样的。 $ query有什么问题。我认为是正确的。 有人可以找到这个bug吗?

1 个答案:

答案 0 :(得分:4)

看起来您在数据库的_metal_name中有一个换行符,SQL查询显示Silver\r\n