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好一点。

...Warning: mysql_query() expects parameter 1 to be string, resourc...
result = mysql_query($res,$con);去掉就可以了,因为这里的$res不是一个string类型.然后 res=mysql_query("select * from cards where id={$_POST['cardno']}");\/\/echo $result;改成 result = mysql_query("select * from cards where id={$_POST['cardno']}");\/\/echo $result;...

Warning: mysql_query() expects parameter 1 to be string, resource g...
我也经常出现这种情况,都是不注意啊,除了数字都要加引号,应该为$sql_check=mysql_query("select * from liuyanban where username='{$username}'");

...array() expects parameter 1 to be resource, boolean given i...
php访问数据库出错:Warning: mysql_fetch_array(),是参数设置错误造成的,解决方法如下:1、首先打开电脑后,同时按住电脑键盘的【开始键】和【R键】,打开电脑的程序运行弹窗。2、在电脑左下角弹出的程序运行弹窗中,输入字母【cmd】,然后点击【确定】按钮。3、在弹出的运行界面中,输入【mysql -u...

...assoc() expects parameter 1 to be resource, boolean given in...
这是因为mysql_query失败了,原因可能是数据库没有选择或者选择不对、表名称错误或者没有权限、字段名称拼写错误等等,原因我们不可能去猜测的,应该在mysql_query语句之后检查是否成功,对于失败的就显示失败原因、然后退出,例如:sql='...';$res=mysql_query($sql);if (! $res){ echo "执行 $...

...array() expects parameter 1 to be resource, boolean given_百度...
select * from status SQL拼写错误导致返回值$a不是一个资源类型

...array() expects parameter 1 to be resource, boolean given in这...
第1处错误: 你的变量名 $COUNT_QUERY 而上文是 $count_query 。 (第一处 mysql_fetch_array)第2处错误: 你用的PHP连接数据库的链接库是 mysql 还是 mysqli 连接的? (第2处 mysqli_fetch_array )

...mysqli_query() expects parameter 1 to be mysqli, string given...
1、第一个notice的意思是未定义的常量链接成功!!! echo必须是字符串类型的,第五行应该这么写:echo '链接成功';2、第二个notice的意思是未定义的变量$conn, 你在第一行链接的时候定义的是 $con,第7行为啥要用$conn的变量!!!3、第三个警告的意思参数问题,既然你选择了mysql_connect, 那么...

...mysql_num_rows() expects parameter 1 to be resource 出现了这个...
mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。可能是你的sql语句执行错误了,返回了false。你在 res=mysql_query($sql,$conn);这两句之后执行一下下面两句 echo $sql;echo $res;把结果打出来,估计就能找到问题所在了 ...

...num_rows() expects parameter 1 to be resource,
'apsword']."'"; $result=mysql_query($check,$conn); if($result && mysql_num_rows($result) == 1){ $_SESSION["aname"]=$_POST['aname']; echo "alert('登录成功'); window.location.href='admin_browse.php';"; }else{ echo "alert('登录失败');"; ...

...array() expects parameter 1 to be resource, boolean given in...
username和password字段的类型应该不是数字(int)类型 那么,给你sql语句中的字段值加个单引号试试,你觉得呢???出现这个错误,并不是你的什么有值没值的问题 问题是你的sql语句压根就是错误的,造成msyql运行不成功,而没有返回合法的msyql数据源 而mysql_fetch_array函数的参数必须是正常合法的...

相似回答