这里有什么不对吗????
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的'desc from materials'附近使用正确的语法
这是代码
<?php
$serverName ="localhost";
$dbname="inventory";
$conn = mysql_connect($serverName,"root","");
if(!$conn) die("Connection error". mysql_connect_error());
else echo "connected successfully";
$desc = mysql_query("select desc from materials where code = 123",$conn ) or die (mysql_error());
mysql_close($conn); ?>
答案 0 :(得分:1)
你正在使用保留字,所以需要逃避。
select `desc` from materials where code = 123
MySQL中的某些对象,包括数据库,表,索引, 列,别名,视图,存储过程,分区,表空间和 其他对象名称称为标识符。本节介绍 MySQL中标识符的允许语法。 ,描述了哪些类型的标识符 区分大小写,在什么条件下。
标识符引号字符是反引号(“`”):
mysql> SELECT * FROM `select` WHERE `select`.id > 100;
标识符可以引用或不引用。如果标识符包含 特殊字符或是保留字,必须随时引用 你指的是它。 (例外:在一段时间后的保留字 限定名称必须是标识符,因此不需要引用。) 保留字列在Section 9.2.2, “Identifier Case Sensitivity” 词语”。
建议不要使用保留字。
答案 1 :(得分:-1)
首先,您尚未选择任何数据库来执行查询。添加此行以在第6行之后选择数据库:
否则回声&#34;成功连接&#34 ;;
$dbconn = mysql_select_db( $dbname , $conn);
if (!$db_conn) {
die ('Can\'t use this database: ' . $dbname . mysql_error());
}
$desc = mysql_query("select `desc` from materials where code = 123",$conn ) or die (mysql_error());
//desc is a reserved keyword in mysql, so you ought to put it between the ` symbol