Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 此查询的输出值/类型是什么?_Mysql_Sql_Mysqli - Fatal编程技术网

Mysql 此查询的输出值/类型是什么?

Mysql 此查询的输出值/类型是什么?,mysql,sql,mysqli,Mysql,Sql,Mysqli,我一直在尝试获取一篇文章的分数,它存储在MySQL数据库中。我已经能够使用以下代码完成此操作: $query_getpostscore = mysqli_query($con,"SELECT score FROM theshitp_posts.mainfeed WHERE id ='$postid'"); $row = mysqli_fetch_array($query_getpostscore, MYSQLI_ASSOC); $score = mysqli_real_escape_string

我一直在尝试获取一篇文章的分数,它存储在MySQL数据库中。我已经能够使用以下代码完成此操作:

$query_getpostscore = mysqli_query($con,"SELECT score FROM theshitp_posts.mainfeed WHERE id ='$postid'");
$row = mysqli_fetch_array($query_getpostscore, MYSQLI_ASSOC);
$score = mysqli_real_escape_string($con,$row['score']);
然而,我想知道为什么简单地写以下内容是行不通的:

$query_getpostscore = mysqli_query($con,"SELECT score FROM theshitp_posts.mainfeed WHERE id ='$postid'");
当然,这应该给出存储在数据库中的分数的数值,其中
id=$id


为什么第一个示例有效,而第二个示例无效?

即使您可能在一行中获得一列,
mysqli\u查询将向您返回一个resultset(一个
mysqli\u result
对象)。您可能“知道”这只会是一个值,但计算机无法知道情况总是如此。

即使您可能在一行中得到一列,
mysqli\u query
将向您返回一个resultset(一个
mysqli\u result
对象)。您可能“知道”这只会是一个值,但计算机无法知道情况总是如此。

转义主要是为了防止SQL注入。。你为什么要逃避那些你已经从db那里弄来的东西。。删除最后一行你不需要它。好吧,不要删除它,只需删除转义<代码>$score=$row['score']转义主要是为了防止SQL注入。。你为什么要逃避那些你已经从db那里弄来的东西。。删除最后一行你不需要它。好吧,不要删除它,只需删除转义<代码>$score=$row['score']