我正在尝试使用mysqli从表中选择一行,但我能得到的是一堆空值,我真的不知道为什么。相同的查询使用普通的php mysql工作,如果我尝试使用参数在phpMyAdmin上执行相同的查询,我会通过罚款。
以下是代码:
"affected_rows":null,
"insert_id":null,
"num_rows":null,
"param_count":null,
"field_count":null,
"errno":null,
"error":null,
"error_list":null,
"sqlstate":null,
"id":null
返回
{{1}}
我已经尝试在这里和谷歌搜索答案,但我找不到任何接近我的问题的答案。 我做错了什么?
答案 0 :(得分:2)
您必须决定是否使用程序或OOP方法。从您的代码中,您似乎调用了mysqli扩展的过程版本,然后尝试使用对象。请参阅the documentation示例,包括面向对象和程序,并决定单个示例。
答案 1 :(得分:1)
作者的最终解决方案(从问题内容转移):
根据用户@RiggsFolly的建议,我根本没有得到结果,而且我正在按照用户@Alex的建议混合程序和OOP方法。以下是工作代码,供将来参考此类问题的任何人参考:
$coupon = $_GET['coupon'];
if ($sql = mysqli_prepare($con, "SELECT * FROM coupon WHERE coupon=?;")){
mysqli_stmt_bind_param($sql, 's', $coupon);
mysqli_stmt_execute($sql);
mysqli_stmt_bind_result($sql, $ID, $coupon, $discount, $uses);
mysqli_stmt_fetch($sql);
$data = array(
'ID' => $ID,
'coupon' => $coupon,
'discount' => $discount,
'uses' => $uses
);
echo json_encode($data);
}else{
echo json_encode(FALSE);
}