我试图在内容表中插入数值。如果我在VALUES里面没有一个PHP变量,它就能正常工作。当我把变量
放在
$type
里面时,就不能工作了。我做错了什么?
VALUES
$type = 'testing';
mysql_query("INSERT INTO contents (type, reporter, description)
VALUES($type, 'john', 'whatever')");
在任何MySQL语句中添加PHP变量的规则都是简单明了的。
因此,由于你的例子只涉及数据字面,那么所有的变量必须通过占位符(也称为参数)来添加。要做到这一点。
这里是如何使用所有流行的PHP数据库驱动程序的方法。
使用mysql ext添加数据字段
这样的司机 并不存在 。
使用
添加数据字段
mysqli
$type = 'testing'; $reporter = "John O'Hara"; $query = "INSERT INTO contents (type, reporter, description) VALUES(?, ?, 'whatever')"; $stmt = $mysqli->prepare($query); $stmt->bind_param("ss", $type, $reporter); $stmt->execute();
代码有点复杂,但所有这些运算符的详细解释可以在我的文章《如何使用Mysqli运行INSERT查询》中找到,还有一个解决方案可以极大地缓解这个过程。
对于一个SELECT查询,你只需要添加一个对
方法的调用,以获得一个熟悉的get_result()
,你可以用通常的方法从中获取数据。mysqli_result