只是不能执行查询来打印绑定值。在执行前寻找调试查询。有小费吗?我知道我可以俯瞰简单的东西,唉......PEAR DB准备/绑定值
$field1 = 'one';
$field2 = 'two';
$field3 = 'three';
$fields = 'SET ';
$fields .= 'field1 = ?, ';
$fields .= 'field2 = ?, ';
$fields .= 'field3 = ? ';
$vals[] = $field1;
$vals[] = $field2;
$vals[] = $field3;
$sql = 'UPDATE table_name '.$fields.' WHERE id = 123';
$dbh = $db->prepare($sql);
// this binds and executes the query but I would like to print the query with the bind values before executing
$results = $db->execute($dbh, $vals);
UPDATE:
我会做这样的事情与sprinf
$field1 = 'one';
$field2 = 'two';
$field3 = 'three';
$fields = 'SET ';
$fields .= 'field1 = %s, ';
$fields .= 'field2 = %s, ';
$fields .= 'field3 = %s ';
$vals[] = $field1;
$vals[] = $field2;
$vals[] = $field3;
$sql = 'UPDATE table_name '.$fields.' WHERE id = 123';
$query = sprintf($sql, $field1, $field2, $field3);
echo "Query before execution: ".$query."<br />";
这是场!!!!! – Galen 2010-09-30 18:30:02
没有$ db-> field(),你能解释一下吗? – 2010-09-30 18:41:35
'$ feilds'的命名_is_一致,尽管混乱。 – Wrikken 2010-09-30 18:46:47