dsrruefh12970 2014-10-23 05:54
浏览 8
已采纳

mysqli对象没有方法执行

Been reading around and I can't find an accurate answer. I just want to query the database using a prepared statements but i'm getting:

Call to undefined method mysqli::execute()

This is what I have currently:

$conn=mysqli_connect($dbhost, $dbuser, $dbpass, $db) or die(mysqli_error($conn));

$conn->prepare("SELECT AccomodationID, PUPoint, PUTime, Entity_ID, Comments FROM ACCOMMODATION ORDER BY PUPoint ASC");
$conn->execute();
$conn->bind_result($AccomodationID, $PUPoint, $PUTime, $Entity_ID, $Comments);
$conn->store_result();

EDIT

Resolved. Big thanks to TML for the help. mysqli->prepare returns a mysqli_stmt object.

$stmt = $conn->prepare("SELECT AccomodationID, PUPoint, PUTime, Entity_ID, Comments FROM ACCOMMODATION ORDER BY PUPoint ASC");

I can then use methods of that object, like so:

$stmt->execute();
$stmt->bind_result($AccomodationID, $PUPoint, $PUTime, $Entity_ID, $Comments);
$stmt->store_result();
  • 写回答

1条回答 默认 最新

  • doujiku1028 2014-10-23 05:57
    关注

    mysqli::prepare returns a mysqli_stmt object. execute() is a method on that object, not on the original mysqli object.

    $conn=mysqli_connect($dbhost, $dbuser, $dbpass, $db) or die(mysqli_error($conn));
    
    $conn->prepare("SELECT AccomodationID, PUPoint, PUTime, Entity_ID, Comments FROM ACCOMMODATION ORDER BY PUPoint ASC");
    $stmt = $conn->execute();
    $stmt->execute();
    $stmt->bind_result($AccomodationID, $PUPoint, $PUTime, $Entity_ID, $Comments);
    $stmt->store_result();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥40 如果update 一个列名为参数的value
  • ¥15 基于51单片机的水位检测系统设计中LCD1602一直不显示
  • ¥15 OCS2安装出现问题,请大家给点意见
  • ¥15 ros小车启动launch文件报错
  • ¥15 vs2015到期想登陆但是登陆不上
  • ¥15 IPQ5018制作烧录固件,boot运行失败(操作系统-linux)(相关搜索:操作系统)(相关搜索:操作系统)
  • ¥20 icefall在librispeech基础上加入个人数据集
  • ¥30 keepalive高可用故障运维配置询问
  • ¥15 求帮助!国家电网内网u盘突然识别不出来了。
  • ¥15 matlab语音变速变调同时实现