PHP脚本从Mysqlnd转换为mysqli

时间:2014-03-20 03:55:33

标签: php html mysqli mysqlnd

任何人都帮我找到我的脚本的替代代码,因为它需要 Mysqlnd 并且许多在线服务器没有这个,所以如果我使用这个代码它会给我这个错误

Fatal error: Call to undefined method mysqli_stmt::get_result()

所以我希望有人将我的代码更改为mysqli版本。

我的代码:

  $page_id = mysqli_real_escape_string($con, $page_id);

$select_query = $con->prepare("select ID, Title, image, Cost, Vid, content from mobs where ID=?"); 

$select_query->bind_param('i', $page_id);

$select_query->execute();

$result = $select_query->get_result();

while ($row = mysqli_fetch_array($result, MYSQL_ASSOC))

{
    $post_id = $row['ID']; 
    $post_title = $row['Title'];

更新1

if(isset($_GET['ID'])){

$page_id = $_GET['ID'];

      $page_id = mysqli_real_escape_string($con, $page_id);

$select_query = $con->prepare("select ID, Title, image, Cost, Vid, content from mobs where ID=?"); 
$select_query->execute();
$select_query->bind_result($post_id, $post_title, $post_image, $post_cost, $post_vid, $post_cont);

while ($select_query->fetch()) {      


    $post_id = $row['ID']; 
    $post_title = $row['Title'];
    $post_image = $row['image'];
    $post_cost = $row['Cost'];
        $post_vid = $row['Vid'];
            $post_cont= $row['content'];

    $sign = '$';
        $sign = mysql_real_escape_string($sign);


?>

更新3

if(isset($_GET['ID'])){

$page_id = $_GET['ID'];



$select_query = ("select ID, Title, image, Cost, Vid, content from mobs where ID=?"); 

$select_query->execute();
$select_query->bind_result($post_id, $post_title, $post_image, $post_cost, $post_vid, $post_content);

while ($select_query->fetch())
 echo 'Post ID:', $post_id, '<br>',
         'Post title: ', $post_title;
 {

1 个答案:

答案 0 :(得分:0)

mysqli_stmt::get_result仅适用于PHP&gt; = 5.3.0。

我建议改用bind_result

此外,您无需转义bind_param中使用的任何字符串。

$select_query->execute();
$select_query->bind_result($post_id, $post_title, $post_image, $post_cost, $post_vid, $post_content);

while ($select_query->fetch()) {
    // do stuff with the bound result variables, eg
    echo 'Post ID:', $post_id, '<br>'
         'Post title: ', $post_title;
}