【问题标题】:Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\couriermanagement\database.php on line 15 [duplicate]警告:mysqli_query() 需要至少 2 个参数,1 个在 C:\xampp\htdocs\couriermanagement\database.php 第 15 行给出 [重复]
【发布时间】:2017-10-14 06:50:31
【问题描述】:

这是每次我收到此错误时的database.php 代码:

注意:未定义变量:dbConn in C:\xampp\htdocs\couriermanagement\database.php 第 15 行

警告:mysqli_query() 期望参数 1 为 mysqli,给定 null 在第 15 行的 C:\xampp\htdocs\couriermanagement\database.php 中

警告:mysqli_error() 只需要 1 个参数,0 给出 C:\xampp\htdocs\couriermanagement\database.php 第 15 行

<?php


// database connection config
$dbHost = 'localhost';
$dbUser = 'root';
$dbPass = '';
$dbName = 'courier_db';

 $dbConn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName) or die ('MySQL 
 connect failed. ' . mysqli_error($dbConn));
//mysqli_select_db($dbConn ,$dbName) or die('Cannot select database. ' . 
  mysqli_error($dbConn));//

 function dbQuery($sql)
{
$result = mysqli_query($dbConn,$sql) or die(mysqli_error());

return $result;
}

function dbAffectedRows()
{
global $dbConn;

return mysqli_affected_rows($dbConn);
 }

 function dbFetchArray($result, $resultType = MYSQL_NUM) {
return mysqli_fetch_array($result, $resultType);
 }

 function dbFetchAssoc($result)
{
return mysqli_fetch_assoc($result);
}

 function dbFetchRow($result) 
{
return mysqli_fetch_row($result);
}

 function dbFreeResult($result)
 {
return mysqli_free_result($result);
 }

 function dbNumRows($result)
 {
return mysqli_num_rows($result);
 }

 function dbSelect($dbName)
 {
    return mysqli_select_db($dbName);
 }

 function dbInsertId()
  {
  return mysqli_insert_id();
  }
  ?>

【问题讨论】:

  • 你必须提供两个参数,一个用于查询,另一个用于连接 mysqli_query($query,$conn)
  • 无论哪种方式都可以调用查询 $result = mysqli_query($dbConn, $sql) 添加连接到查询或 $result = $dbConn->query($sql); Check the doc
  • $result = $dbConn->query($sql);使用了这个但仍然出现错误注意:未定义的变量:第 15 行 C:\xampp\htdocs\couriermanagement\database.php 中的 dbConn 致命错误:未捕获的错误:调用 C:\xampp 中的成员函数 mysqli_query() on null \htdocs\couriermanagement\database.php:15 堆栈跟踪:#0 C:\xampp\htdocs\couriermanagement\login.php(13): dbQuery('SELECT DISTINCT...') #1 {main} 在 C 中抛出: \xampp\htdocs\couriermanagement\database.php 第 15 行

标签: php mysql


【解决方案1】:

“链接”丢失了,我想你是从 mysql 升级到 mysqli

应该是这样的:

$dbConn = mysqli_connect("localhost", "my_user", "my_password", "world");
mysqli_query($dbConn, "SELECT * FROM test");

阅读:

http://php.net/manual/en/mysqli.query.php

在程序风格下

【讨论】:

  • 我使用了 $dbconn 仍然收到错误未定义变量
  • 函数 dbQuery($sql) { 全局 $dbconn; $result = mysqli_query($dbConn,$sql); } 因为尝试访问未在函数中定义的变量
【解决方案2】:

你应该添加

$con=mysqli_connect("hostmane","userename","password","db_name"); 

行前

$result = mysqli_query($dbConn,$sql) or die(mysqli_error());

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-09
  • 2017-09-27
  • 2020-10-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-25
相关资源
最近更新 更多