2013-02-20 42 views
0

如果需要連接到數據庫使用的mysqli像使用mysql和mysqli的

$conn = mysqli_connect('localhost', 'user', 'pwd', 'db'); 

我仍然可以使用下面的代碼?

function get_book($book_id) { 
    return mysql_result(mysql_query("SELECT title FROM books WHERE book_id = '$book_id'"), 0, 'title'); 
} 
+2

測試它?我覺得很簡單! – 2013-02-20 20:45:16

回答

0

我們在客觀php中使用mysqli。對於「正常」程序化的PHP,我們使用mysql。閱讀關於它在PHP手冊。你不能混合這個前綴。

0

編號Mysqli與mysql不同,你不能使用mysql函數。另外,我學會了連接到mysqli的方式不符合mysqli_connect但這樣的:

$conn=new mysqli(/*credentials here*/) 

看到關於如何使用的mysqli

-1

這不是簡單的PHP manual。您仍然可以使用procedural style,但您必須爲函數名稱添加「i」。

即變化:

  • mysql_resultmysqli_result

  • mysql_querymysqli_query

等。

<?php 

function list_book() { 

    $database_connection = mysqli_connect('localhost', 'user', 'pwd', 'db') or die('Could Not Connect' . mysql_error()); 
    $books = array(); 
    $books_query = mysqli_query("SELECT * FROM book"); 

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

    print_r($books); 
    exit(); 
} 
?> 
+0

你的意思是我可以簡單地將mysql更改爲mysqli,它會以相同的方式工作? – user6542 2013-02-20 20:57:38

+0

正確。 MySQLi的意圖是在過程和麪向對象的風格上工作,但是你需要更新你的函數名來包含i。 – Ares 2013-02-20 20:59:30

+0

我只是做了一個測試,我包括但它沒有奏效。 – user6542 2013-02-20 21:19:10