一模一样的句子,为啥在MYSQL中能查询出东西,放到PHP中就查不出来了
MYSQL查询用
select *from chillerdate where 型号 = 'CSRAN-1502'
查询结果没问题
然后我放到PHP中
ini_set('display_errors','On');
$con = mysqli_connect('******);
$result = $con->query("select * from chillerdate where 型号 = 'CSRAN-1502'");
if (!$result) {
echo '没有查询结果';
}
print_r(mysqli_fetch_array($result));
查询结果就是
没有查询结果
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /data/home/qxu2062240190/htdocs/getchillerdate.php on line 12
下面那个警告是因为mysql没有执行成功,你的字段就是中文的吗?如果是中文的加分隔符试下
select * from chillerdate where 型号
= 'CSRAN-1502'
语句应该是没有问题的,你可以试试把sql语句单独存在$sql变量里,在执行query。也只能这样试试了
php代码中,用SQL语句查询查询数据库里面的信息,并显示出来
$question
$sql= "select *from tableName where question='$question' ";
(tableName 是你数据库的名字,question 是你数据库的字段名字,$question 是你问题的答案)
把$sql打印出来看看和你在mysql里运行的是不是一样的就知道了。
query()函数返回的是布尔值,意思就是说是否查询成功,真正获取数据要用mysql_fetch_row()
$row=mysql_fetch_row($result);
试一下将你数据库中,中文的字段改为英文。然后再试试。
例如将 型号改为type
然后 $result = $con->query("select * from chillerdate where type = 'CSRAN-1502'");
试试
你这个提示很明确呀,少参数啊
型号 是字段名吗?
如果是,应转义 用反撇号``括起来
你把字段改成英文的试试 如果可以的话就给字段加上双引号
字段名不要使用中文的
没有选择数据库,没有选择字符集
ini_set('display_errors','On');
$con = mysqli_connect('******);
@mysql_select_db(".....");
@mysql_query("SET NAMES utf8");
$result = $con->query("select * from chillerdate where 型号 = 'CSRAN-1502'");
if (!$result) {
echo '没有查询结果';
}
print_r(mysqli_fetch_array($result));