另一个mysqli_query()要求参数1为mysqli,给定字符串

时间:2016-05-21 05:13:36

标签: php mysqli

我已阅读有关此主题的所有参考资料,并按照说明进行操作。我使用此步骤的其他应用程序运行顺利,但在我的程序的一部分中这个简单的查询仍然显示此错误:

  

警告:mysqli_query()期望参数1为mysqli,给定字符串   在D:\ xampp183-5 \ htdocs \ Development \ Pajak-Penjualan_Auto_2-0.php on   第258行

     

警告:mysqli_error()正好需要1个参数,给出0   D:\ xampp183-5 \ htdocs \开发\ Pajak-Penjualan_Auto_2-0.php上线   258

Query Ref Penjualan Failed

此处代码

$link = mysqli_connect('localhost', 'Username', 'Password', $_SESSION['Database']);
if (!$link) {
   die('Not connected : ' . mysqli_error());
}

$db_selected = mysqli_select_db($link, $_SESSION['Database']);
if (!$db_selected) {
  die ('Can\'t use foo : ' . mysqli_error());
}    

.
.
.//Some SqlCommand
$com = "
select h.Kode_FP, Tanggal, Ceil(
(
    SUM((Qty * Harga_Satuan)) - Potongan - Uang_Muka
)
) as Total, h.Staff, h.NPWP, h.Nama, k.Nama_Karyawan
from fp_penjualan_h h
LEFT JOIN fp_penjualan_d d ON h.Kode_FP = d.Kode_FP
LEFT JOIN karyawan k ON k.Kd_Karyawan = h.Staff
where Tanggal Between '".@$_REQUEST['Mulai']."' and '".@$_REQUEST['Sampai']."'
group by Tanggal, h.Kode_FP
".@$_REQUEST['Sort']."
";
$query = mysqli_query($link, $com) or die(mysqli_error($link)."Query Failed");
while($hasil = mysqli_fetch_array($query))
{
     $comRefPenjualan = "
     select COUNT(DISTINCT(rj.Kd_Penjualan)) as Ref_Jual
     from fp_ref_jual rj
     where rj.Kode_FP = '".$hasil[0]."'
     group by rj.Kode_FP
     ";
     $queryRefPenjualan = mysqli_query($link, $comRefPenjualan) or die(mysqli_error()."Query Ref Penjualan Failed");
     $hasilRefPenjualan = mysqli_fetch_array($queryRefPenjualan);
.
.
.

但每当我查询手册时,都没有错误,查询就成功了。我的代码出了什么问题?任何人都可以帮助我。

1 个答案:

答案 0 :(得分:-1)

而不是 mysqli_error() 它应该是 mysqli_error($链路)

mysqli_error()需要将连接参数传递给数据库。

让您的代码更好地替换

if (!$link) {
   die('Not connected : ' . mysqli_error());
}

$db_selected = mysqli_select_db($link, $_SESSION['Database']);
if (!$db_selected) {
  die ('Can\'t use foo : ' . mysqli_error());
}

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

由于您的数据库已在上面的$ link中选择

同时更改

$query = mysqli_query($link, $com) or die(mysqli_error($link)."Query Failed");

if (!mysqli_query($link, $com)) {
    printf("Query Failed: %s\n", mysqli_error($link));
}else{
   $query = mysqli_query($link, $com); 
}

这个

 $queryRefPenjualan = mysqli_query($link, $comRefPenjualan) or die(mysqli_error()."Query Ref Penjualan Failed");

if (!mysqli_query($link, $comRefPenjualan)) {
    printf("Query Ref Penjualan Failed: %s\n", mysqli_error($link));
} else {
   $queryRefPenjualan = mysqli_query($link, $comRefPenjualan); 
}