gpt4 book ai didi

php - 如何使用准备好的语句制作适当的 mysqli 扩展类?

转载 作者:可可西里 更新时间:2023-11-01 07:05:49 24 4
gpt4 key购买 nike

我正在尝试扩展 mysqli 类以创建一个辅助类,该类将抽象出一些复杂性。我想要完成的主要事情之一是利用准备好的语句。

我真的不知道从哪里开始,或者如何在一个类中正确处理输入和输出。另一个问题是我无法在使用准备语句时将数据输出为数组。

我真的可以用一个简单的例子来指明正确的方向。

最佳答案

查看 Zend_Db 的实现,特别是 Zend_Db_Select .事实上,您可能只是选择使用它而不是开发自己的。示例:

 //connect to a database using the mysqli adapter
//for list of other supported adapters see
//http://framework.zend.com/manual/en/zend.db.html#zend.db.adapter.adapter-notes
$parameters = array(
'host' => 'xx.xxx.xxx.xxx',
'username' => 'test',
'password' => 'test',
'dbname' => 'test'
);
try {
$db = Zend_Db::factory('mysqli', $parameters);
$db->getConnection();
} catch (Zend_Db_Adapter_Exception $e) {
echo $e->getMessage();
die('Could not connect to database.');
} catch (Zend_Exception $e) {
echo $e->getMessage();
die('Could not connect to database.');
}

//a prepared statement
$sql = 'SELECT * FROM blah WHERE id = ?';
$result = $db->fetchAll($sql, 2);

//example using Zend_Db_Select
$select = $db->select()
->from('blah')
->where('id = ?',5);
print_r($select->__toString());
$result = $db->fetchAll($select);

//inserting a record
$row = array('name' => 'foo',
'created' => time()
);
$db->insert('blah',$row);
$lastInsertId = $db->lastInsertId();

//updating a row
$data = array(
'name' => 'bar',
'updated' => time()
);

$rowsAffected = $db->update('blah', $data, 'id = 2');

关于php - 如何使用准备好的语句制作适当的 mysqli 扩展类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1384191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com