PHP 报错 Warning: mysql_query() expects parameter 1 to be string, resource given in

全文:<?php header("Content-type:text/html;Charset=utf-8");include 'config.php';$conn = mysql_connect($sqlconfig['host'],$sqlconfig['user'],$sqlconfig['pass'],$sqlconfig['dbname']);$sql = "CREATE TABLE userinfo (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, idname VARCHAR(30) NOT NULL,username VARCHAR(30) NOT NULL,pass VARCHAR(30) NOT NULL,)";if (mysql_query($conn,$sql)) { echo "成功";}else{ echo "失败";} ?>

你搞混了mysql函数和mysqli函数的用法
mysql_query( $sql, $conn); 第一个是sql语句,第二个是mysql连接源,其中,第二个参数可以省略,默认是上一个连接
mysqli_query( $conn, $sql ); 两个参数刚好和上面相反,而且第一个参数不可以省略!
mysql函数只可以过程方式操作数据库, 而msyqli可以过程方式和对象方式,比如
$conn = new mysqli('localhost', 'root', 123456, 'dbname');
$conn -> query( $sql );
建议使用msyqli函数,mysql函数在php的高版本中已经抛弃了,比如php7
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-02
不要直接通过mysql_query()返回值来判断
mysql_query()如果里面放的是查询之类的语句,那返回的是资源,说白了就是你要查的数据结果集;如果里面放的是增删改之类的语句,那返回的是true或者false了。
如果你要使用这个数据结果集,必须用mysql_fetch_array(), mysql_fetch_row()等函数获取里面的数据,就是mysql_query()得和上面几个函数配合使用。
第2个回答  2019-07-03

mysql_query 这个函数第一个参数,是aql语句,第二

个参数,是可选的连接标识符,你仔细看一下手册,

不是你写的那样。

本回答被网友采纳
第3个回答  2019-07-02
mysql_query($conn,$sql)
改为
mysql_query($sql, $conn)
第4个回答  2019-07-02
mysql_query方法用错了,第一个变量是sql,第二个才是conn追问

mysql和mysqli有什么区别=-=

追答

mysqli应该是php5后出现的,是mysql的增强版,方法都差不多,性能mysqli好一点。

相似回答