PHP MySQL INSERT通过一次查询执行返回值

Phi*_*ord 8 php mysql sql return-value

在执行INSERT查询时,是否有从MySQL/PHP返回的内容?这是我在CLASS中的功能.

function mysqlQuery($query) {
   // Gets the results from the query
   $results = mysql_query($query, $this->connection);

   // Loops through the queried results as an multi-dimensional array
   while($rows = mysql_fetch_array($results, MYSQL_ASSOC)) {
      // Push results to single array
      $rs[] = $rows;
   }

   // Return results as array
   return $rs;
}
Run Code Online (Sandbox Code Playgroud)

这就是我调用函数的方式

$rs = $dbh->mysqlQuery($query);
Run Code Online (Sandbox Code Playgroud)

但执行INSERT查询时,$ rs不返回任何内容.我的功能需要帮助还是默认行为?任何提示也会有所帮助.

DUH,谢谢你提醒我它返回TRUE/FALSE.由于某种原因,我把它放在脑子里它实际上返回了另一个值,但在查看我的函数后,我看到我没有检查TRUE/FALSE条件并且只循环遍历结果数组.

感谢所有正确的答案,但首先要正确回答得分,干杯!

hel*_*dre 34

INSERT只返回true或false.要实际返回有用的东西,您将需要SELECT或类似的查询.用INSERT获取没有结果.


Ric*_*rdo 5

从php文档:

返回值对于SELECTSHOW,DESCRIBE,EXPLAIN和其他返回结果集的语句,SHOW在成功时返回资源,在出错时返回FALSE.

对于其他类型的SQL语句,DESCRIBE,EXPLAIN,mysql_query(),FALSE,等,INSERT返回UPDATE成功或DELETE出错.

返回的结果资源应该传递给DROP处理结果表的其他函数,以访问返回的数据.

使用mysql_query()找出多少行以被退回TRUEFALSE找出多少行受一mysql_fetch_array(),mysql_num_rows(),SELECT statement,或者mysql_affected_rows()

DELETEINSERT如果用户没有访问查询引用的表的权限,也将失败并返回.