Heim  >  Artikel  >  Backend-Entwicklung  >  php连接数据库的有关问题

php连接数据库的有关问题

WBOY
WBOYOriginal
2016-06-13 13:34:29857Durchsuche

php连接数据库的问题
$link=mysql_connect("localhost","root","906200");  
 mysql_select_db("manage");
$sql="select * from commodity where commodity_name=".$name;/////////报错说这句不对!!!????
$result=mysql_query($sql)or die(mysql_error());
$num = mysql_num_rows($result);
echo $num;
if($num>0){
while($rs=mysql_fetch_object($result))
  {
  $c_id=$rs->commodity_id;
  $c_name=$rs->commodity_name;
  $c_kind=$rs->commodity_kind;
  $c_price=$rs->commodity_buyprice;
  echo "

". $c_id." ".$c_name." ".$c_kind." ". $c_price." ";
  }
  mysql_close(); 
}



已经验证前一网页把值成功传入$name,报错说You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''select * from commodity where commodity_name='饼干' at line 1 

这是为什么嘞。。。。。。(表名是commodity)
 
 


------解决方案--------------------
$sql="select * from commodity where commodity_name='$name'";
------解决方案--------------------
查找/更新/插入的字段如果是 varchar,char,text等类型 需要使用引号将内容括起来.
------解决方案--------------------
贴出出错时的 $sql

big5_chinese_ci ???
你的 $name 是什么编码的?
------解决方案--------------------
=两边的编码不一致一个是latin1_swedish_ci 一个是big5_chinese_ci
注意统一编码
------解决方案--------------------
在你连接数据库时加上:mysql_query(“set names gbk”);
------解决方案--------------------
utf8_general_ci
然后你的php,html文件都保存为UTF-8格式。就不会再有乱码的困扰了
------解决方案--------------------
说的是,一个个改为utf8_general_ci,这是最通用的
注意:对于int型变量不用改
主要改三点,
一是数据库类型有一个地方
二是表属性有一个地方
三是每个字段非int型都有一个地方
连接数据库后
mysql_query("set NAMES utf-8");
以后所有的中文操作都不用你再担心编码问题出现
(多注意chatset=utf-8;或是php页面属性dw改为utf-8)
------解决方案--------------------
windows环境的话就全用gbk,linux环境就全用utf8,包括html的http-equiv,数据库编码,php文件编码(与系统locale相同)。
------解决方案--------------------
统一编码

首先,确定你的文件的字符编码,第二,确定你数据库连接时输入输出的编码,第三,确定你数据库,表,字段的字符编码。这些药全部一致才行

最好都用UTF-8。我一般用的是utf8_general_ci
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn