获取对象时出现PHP-SQL错误
我下面的代码有问题。 问题是:获取对象时出现PHP-SQL错误,php,sql,fetch,Php,Sql,Fetch,我下面的代码有问题。 问题是: Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in D:\Xampp\htdocs\apotek\models\transaksi.php on line 693 Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\Xampp\h
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in D:\Xampp\htdocs\apotek\models\transaksi.php on line 693
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\Xampp\htdocs\apotek\models\transaksi.php on line 696
我希望我能在这里找到答案来解决问题。
事先非常感谢
以下是获得EROR的代码行:
while ($row = mysql_fetch_object($query)) {
$data[] = $row;
}
$total = mysql_num_rows(mysql_query($sql));
以下是完整的代码:
function load_data_defecta($param) {
$q = NULL;
if ($param['id'] !== '') {
$q.=" and s.id = '".$param['id']."' ";
}
if ($param['search'] !== '') {
$q.=" and b.nama like ('%".$param['search']."%')";
}
$limit = " limit ".$param['start'].", ".$param['limit']."";
$sql = "select s.*, b.kekuatan, b.id as id_barang, b.nama, b.stok_minimal, st.nama as satuan_kekuatan, sum(s.masuk) as masuk,
sum(s.keluar) as keluar, (sum(s.masuk)-sum(s.keluar)) as sisa
from stok s
join barang b on (s.id_barang = b.id)
left join satuan st on (b.satuan_kekuatan = st.id)
where b.id not in (select id_barang from defecta where status = '0') $q
group by s.id_barang
having sisa <= b.stok_minimal order by b.nama";
$query = mysql_query($sql.$limit);
$data = array();
while ($row = mysql_fetch_object($query)) {
$data[] = $row;
}
$total = mysql_num_rows(mysql_query($sql));
$result['data'] = $data;
$result['total']= $total;
return $result;
}
function get_distributor_by_barang($id_barang) {
$sql = mysql_query("select s.nama from supplier s
join penerimaan p on (s.id = p.id_supplier)
join detail_penerimaan dp on (p.id = dp.id_penerimaan)
join kemasan k on (k.id = dp.id_kemasan)
join barang b on (k.id_barang = b.id)
inner join (
select id_kemasan, max(id) as id_max from detail_penerimaan group by id_kemasan
) dm on (dp.id_kemasan = dm.id_kemasan and dp.id = dm.id_max)
where b.id = '$id_barang'
");
$row = mysql_fetch_object($sql);
return $row;
}
function pemesanan_plant_load_data($param = NULL) {
$limit = NULL;
if (isset($param['list'])) {
$limit = " limit ".$param['start'].", ".$param['limit']."";
}
$sql = "select d.*, concat_ws(' ',b.nama, b.kekuatan, s.nama) as nama_barang from defecta d
join barang b on (d.id_barang = b.id)
left join satuan s on (b.satuan_kekuatan = s.id) where status = '0' order by b.nama";
$query = mysql_query($sql.$limit);
$data = array();
while ($row = mysql_fetch_object($query)) {
$data[] = $row;
}
$total = mysql_num_rows(mysql_query($sql));
$result['data'] = $data;
$result['total']= $total;
return $result;
}
我对这一部分有疑问……我认为这一部分有问题,只是我不知道是哪一部分导致了问题
$sql = "select s.*, b.kekuatan, b.id as id_barang, b.nama, b.stok_minimal, st.nama as satuan_kekuatan, sum(s.masuk) as masuk,
sum(s.keluar) as keluar, (sum(s.masuk)-sum(s.keluar)) as sisa
from stok s
join barang b on (s.id_barang = b.id)
left join satuan st on (b.satuan_kekuatan = st.id)
where b.id not in (select id_barang from defecta where status = '0') $q
group by s.id_barang
having sisa <= b.stok_minimal order by b.nama";
这些错误消息会提示我您的查询失败。您应该实现错误检查,以确保mysql\u查询返回预期的对象而不是false。使用mysql\u error获取最后一条错误消息。请注意MySQL现在已被弃用。您应该使用PDO或MySQLiIs作为数据库连接mysqli_uu吗?注意i?加上这个$query=mysql\u query$sql.$limit;这是有问题的。坦率地说,我对此知之甚少……我发现另一个部分也使用$query=mysql\u query$sql。$limit一点问题都没有,可以很好地运行。。。