Php 警告:mysqli_fetch_assoc()希望参数1是mysqli_结果,数组在
“警告:mysqli_fetch_assoc()期望参数1是mysqli_result,数组在”代码段外“中给出 “searchcar.php” 下面是选择函数“database.php”的代码片段Php 警告:mysqli_fetch_assoc()希望参数1是mysqli_结果,数组在,php,mysqli,Php,Mysqli,“警告:mysqli_fetch_assoc()期望参数1是mysqli_result,数组在”代码段外“中给出 “searchcar.php” 下面是选择函数“database.php”的代码片段 public function select( $table, $fields = '*', $where = '1=1', $order = '', $limit = '', $desc = fals
public function select(
$table,
$fields = '*',
$where = '1=1',
$order = '',
$limit = '',
$desc = false,
$limitBegin = 0,
$groupby = null,
$monitoring = false
) //monitoring is set to true to view the actual query
{
// $query ='SELECT ' . $fields . ' FROM ' . $table ;
$query = 'SELECT ' . $fields . ' FROM ' . $table . ' WHERE ' . $where;
if (!empty($groupby)) {
$query .= ' GROUP BY ' . $groupby;
}
if (!empty($order))
{
$query .= ' ORDER BY ' . $order;
if ($desc)
{
$query .= ' DESC';
}
}
if (!empty($limit))
{
$query .= ' LIMIT ' . $limitBegin . ', ' . $limit;
}
$result = $this->_sendQuery($query);
$resultArray = array();
while ($row = mysqli_fetch_assoc($result))
{
$resultArray[] = $row;
}
if ($monitoring)
{
// If monitoring is activated, echo the query
echo $query;
}
return $resultArray;
}
我想使用这行“while($row=mysqli\u fetch\u assoc($result))”
请指教 使用mysqli_error()
返回上一个MySQL操作中的错误消息文本
从MySQL命令行或phpMyAdmin之类的工具运行查询。
如果查询中有语法错误,这将告诉您它是什么
是
确保你的报价是正确的。查询或查询周围缺少引号
值可能导致查询失败
确保你正在逃避你的价值观。查询中的引号可能导致
查询将失败(并且会使您面临SQL注入)。使用
mysql\u real\u escape\u string()用于转义输入
您的
select
方法返回的是数组
,而不是资源
。这意味着mysqli\u fetch\u assoc
有权投诉
好消息是,select
方法返回一个结果数组,这意味着您可以在($row=mysqli\u fetch\u assoc($result))时将替换为
foreach($result as $row)
该select()
方法清楚地执行查询,然后返回结果数组。为什么您希望能够(甚至需要)获取该数组并再次对其执行mysqli\u fetch\u assoc()
我认为您可以直接在$result
上迭代,如下所示:
$modelmake = $_POST['model_make'];
$result = $db->select('car_information','*', 'Model_Make LIKE \'%$modelmake%\'');
foreach ($result as $row)
echo 'Model'.$row['model_make'];
}
还应该指出的是,您的代码容易受到SQL注入的攻击。什么打印var\u dump($result)?您的select()
回调已经使用mysqli\u fetch\u assoc
收集了一个数组。为什么您认为以后需要再次调用它?var_dump($result)返回数组(0){}“mario”,而不是如何处理此情况请更正我是oop编程的新手谢谢Mike和所有人我的问题解决了
$modelmake = $_POST['model_make'];
$result = $db->select('car_information','*', 'Model_Make LIKE \'%$modelmake%\'');
foreach ($result as $row)
echo 'Model'.$row['model_make'];
}