Php 这个mysql代码有什么问题

Php 这个mysql代码有什么问题,php,mysql,Php,Mysql,这里怎么了 您的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 "

这里怎么了

您的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); ?>

您正在使用保留字,因此需要转义

select `desc` from materials where code = 123
MySQL中的某些对象,包括数据库、表、索引、, 列、别名、视图、存储过程、分区、表空间和 其他对象名称为标识符。本节介绍 MySQL中允许的标识符语法,描述哪些类型的标识符 区分大小写,在什么条件下

标识符引号字符是反勾号(“`”):

标识符可以带引号或不带引号。如果标识符包含 特殊字符或是保留字,您必须随时引用它 你指的是它。(例外:一个保留字,在一个句点之后 限定名称必须是标识符,因此无需引用。) 保留字列在 词语”


建议不要使用保留字。

首先,您没有选择任何数据库来执行查询。在第6行之后添加此行以选择数据库:

否则回显“连接成功”


添加一个
回勾
您有一个名为
desc
的列。“从材料中选择'desc',其中code=123”
desc
是保留字,基本上是因为它是按x desc排序的关键字,因此,当您为此列名选择了保留字时,您有两个选项。1) 首选操作是,为此列使用另一个名称,2)将列名换行为backticks
select`desc`from materials where code=123
第三个选项是使用表名或表别名限定对列名的引用。例如:
select materials.desc from materials where
mysqli\u和
mysql\u混合了什么?
mysql> SELECT * FROM `select` WHERE `select`.id > 100;
$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