mysql - Zend Framework中自动引用MySQL查询疑惑

标签 mysql zend-framework quotes

我对在 Zend 框架中引用 mysql 查询几乎没有疑问。虽然这question 对我有所帮助,但仍有一些事情令人困惑:

1) $table 是 Zend_Db_Table。尝试从表中获取一行。

$where[] = $db->quoteInto('id = ?', $id);
$where[] = $db->quoteInto('user_id = ?', $user_id);
$row = $table->fetchRow($where);

我需要在这里使用 quoteInto 还是会在 fetchRow 中自动引用它?这种查询的更好方法是什么?如果需要,是否可以将 2 个 quoteInto 合并为一个?

2) $table 是 Zend_Db_Table。尝试在表中保存一行。

$tablerow = $table->createRow();
$rowdata = array('id' => $id, 'user_id' => $user_id);
$tablerow->setFromArray($rowdata);
$ret = $tablerow->save();

我需要在这里使用某种报价功能吗?

3) $table 是 Zend_Db_Table。尝试更新表格中的一行。

$row = $table->fetchRow($where);
$row->name = $name; 
$row->save();

我需要在第二步引用 $name 吗?

4) 一般查询

一个)

$sql = "SELECT * FROM users where id=? and name=?";
$results = $db->fetchAll($sql, array($id, $name));

这里需要引用吗?
B)

$sql =  "SELECT * FROM users where id=? and name=?";
$stmt = $db->query($sql, array($id, $name)); 
$result = $stmt->fetchAll();

我需要在这里引用吗?

C) 对于一般查询,A 或 B 中的哪一个更好?

最佳答案

无论答案如何,我认为编写一些测试可能会有用,这样您就可以确定它正在执行您希望它执行的操作。设置测试数据库并使用 PHPUnit 或您喜欢的任何测试框架创建一些单元测试。

关于mysql - Zend Framework中自动引用MySQL查询疑惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1722177/

相关文章:

数据库值中的 PHP 大括号

mysql - innodb 和 XtraDB 之间有明显的区别吗?

zend-framework - 如何从索引 View 在 zend 框架上显示图像?

mysql - MySQL 中何时使用单引号、双引号和反引号

没有 LIMIT 的 MySQL SELECT 查询

python - 400 错误请求 : KeyError:

mysql - Zend db 更新值未设置

mysql - Zend 分页器运行速度非常慢 1.12

javascript - 如何使用 javascript 删除动态创建的 json 对象中的多余引号?

javascript - 未终止的字符串文字 jquery 或更多