将mysql转换为需要的mysqli帮助

将mysql转换为需要的mysqli帮助

问题描述:

我需要将以下内容转换为使用mysqli,但无法找到示例。有人可以很好地帮忙吗?将mysql转换为需要的mysqli帮助

$books = array(); 

     $books_query = mysql_query("SELECT * FROM book"); 

     while ($books_row = mysql_fetch_assoc($books_query)) { 
      $books[] = array(
      'id'   => $books_row['book_id'], 
      'book_title' => $books_row['book_title'] 
      ); 
     } 
    return $books; 

编辑:

我编写;

$stmt=conn->stmt_init(); 

if($stmt->prepare("SELECT * FROM book")) 
{ 
    $stmt->execute(); 
    $stmt->bind_result($r_book_id, $r_book_title); 

    while ($stmt->fetch()) 
    { 
     .... 
    }; 
} 

但只是不知何故无法正常工作。

我的问题是我刚刚从.NET MS SQL转换到MySQL,需要到MySQL转换为mysqli的

+0

PGallagher,感谢编辑我的问题。我只是发现无奈和恐慌,甚至没有时间学习如何发布问题到这个论坛。赞赏。 – user6542 2013-02-20 15:10:16

在你的代码中写道:

$stmt->execute(); 
$stmt->bind_result($r_book_id, $r_book_title); 

根据该文件,实行已被的bind_result方法之后调用

而且,一旦您调用fetch,您将访问数据,其中$r_book_id$r_book_title不带数组。

如果您想要更友好的用户界面,请切换到PDO。这很容易,并没有不同的synthax取决于你使用简单或准备查询。

编辑:只要你想提取到一个数组,这里是招:

$stmt->bind_result($r['book_id'], $r['book_title']); 
$stmt->execute(); 
while($stmt->fetch()){ 
    $totalResult[] = $r;//$r will contain a row as an array 
} 
//total result is an array with the whole result set 
+0

非常感谢。所以我需要搜索如何将结果获取到数组中,因为php部分需要一个数组。我的问题是有各种类似的功能,例如fetch(),fetch_assoc()等,对于新手来说,要经历从.net MS SQL到php mysql,从mysql到mysqli的过渡,这是一个有点挑战。不管怎么说,还是要谢谢你。 – user6542 2013-02-20 15:22:30

+0

好吧,我会给你一个片段: – artragis 2013-02-20 15:23:54

+0

另外,有没有关于PDO的好教程?我记得我在搜索时看到过这个地方,但我只是觉得我不能将它转换为另一种新技术。 – user6542 2013-02-20 15:26:52

由于意见提到,最好我们会看到,到目前为止你已经尝试了什么?

你是主要资源;

http://www.php.net/manual/en/mysqli.quickstart.php

然而,这个页面提供了一个很好的教程;

http://codular.com/php-mysqli

为您的代码;

$books = array(); 

$db = new mysqli('localhost', 'user', 'pass', 'demo'); 

if($db->connect_errno > 0){ 
    die('Unable to connect to database [' . $db->connect_error . ']'); 
} 

$sql = "SELECT * FROM book" 

if(!$result = $db->query($sql)){ 
    die('There was an error running the query [' . $db->error . ']'); 
} 

while($row = $result->fetch_assoc()){ 
      $books[] = array(
      'id'   => $books_row['book_id'], 
      'book_title' => $books_row['book_title'] 
      ); 
} 

return $books; 
+0

感谢您的回复,但我并不像偷代码那样懒惰。我已经编码$ stmt = conn-> stmt_init(); if($ stmt-> prepare(“SELECT * FROM book”)){$ stmt-> execute(); $ stmt-> bind_result($ r_book_id,$ r_book_title); while($ stmt-> fetch()){....};但只是不知何故无法正常工作。我的问题是我只是从.net MS SQL切换到MySQL,并需要将MySQL转换为mysqli。 – user6542 2013-02-20 14:39:25