将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的
在你的代码中写道:
$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
非常感谢。所以我需要搜索如何将结果获取到数组中,因为php部分需要一个数组。我的问题是有各种类似的功能,例如fetch(),fetch_assoc()等,对于新手来说,要经历从.net MS SQL到php mysql,从mysql到mysqli的过渡,这是一个有点挑战。不管怎么说,还是要谢谢你。 – user6542 2013-02-20 15:22:30
好吧,我会给你一个片段: – artragis 2013-02-20 15:23:54
另外,有没有关于PDO的好教程?我记得我在搜索时看到过这个地方,但我只是觉得我不能将它转换为另一种新技术。 – user6542 2013-02-20 15:26:52
由于意见提到,最好我们会看到,到目前为止你已经尝试了什么?
你是主要资源;
http://www.php.net/manual/en/mysqli.quickstart.php
然而,这个页面提供了一个很好的教程;
为您的代码;
$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;
感谢您的回复,但我并不像偷代码那样懒惰。我已经编码$ 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
PGallagher,感谢编辑我的问题。我只是发现无奈和恐慌,甚至没有时间学习如何发布问题到这个论坛。赞赏。 – user6542 2013-02-20 15:10:16