为了账号安全,请及时绑定邮箱和手机立即绑定

php执行mysql语句返回如何处理

php执行mysql语句返回如何处理

PHP
繁星淼淼 2019-04-09 05:04:13
所有代码段为:$con = mysql_connect("**.**.**.**" ,"tagtree","tagtree");$table = "good";$child_id = "nice";$sql = "select count(1) from pn_classtag where type=\"$table\" and children_id !=\"$child_id\" and pn_num=0";$ret = mysql_query($sql,$con);mysql_close($con);print_r($ret);return $ret;执行之后,打印:Resource id #6需求只想求出总量,请问对 mysql_query()调用之后应如何处理
查看完整描述

3 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

mysql_query()函数执行过后,是一个mysql扩展的内部对象哦,也可以说是一个句柄,并不是一个结果集。

它所得到的那个$ret,你需要使用mysql_fetch_row()、mysql_fetch_assoc()、mysql_fetch_array()以及mysql_fetch_field()这样的函数来取得它的结果集才行哦亲。

你的程序在:

$ret = mysql_query($sql,$con);
一行下面,需要加上:
$result = mysql_fetch_array($ret);

之后,你再print_r或者var_dump($ret),你就可以看到结果了哦。

查看完整回答
反对 回复 2019-04-10
?
HUX布斯

TA贡献1876条经验 获得超6个赞

SELECT 语句用于从数据库中选取数据。
语句1:SELECT * FROM table_name
解说:意思就是读取整个表table_name里面的数据显示出来
语句1:SELECT * FROM table_name Where x = 1
解说:意思就是读取表table_name里面键名为:x 值为:1的 数据显示出来
例子:
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br />";
}
mysql_close($con);
?>

数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。
这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:
mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");

来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:
mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如页面申明的编码与数据库内部编码一致可以不设定连接编码。
代码如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");



查看完整回答
反对 回复 2019-04-10
  • 3 回答
  • 0 关注
  • 1131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信