我正试图迁移用PHP 5.2编写的应用程序,但在为自定义函数创建正确的语法时遇到了问题。这在旧语法中非常有效,但我遇到了一个致命的错误。
从本质上讲,我想创建一个函数,使从与唯一id相关联的数据库表中轻松获取电子邮件地址。我根据PHP 5.2中的工作原理编写了下面的代码。
function getemail($id) {
$email_query = $con->query("SELECT email FROM admin WHERE id='$id'");
$rs = $email_query->fetch(PDO::FETCH_ASSOC);
return $rs;
}
然后我可以用下面这样的东西来调用这个函数。
foreach($con->query('SELECT * FROM admin') as $row) {
echo $row['id'] . ' ' . $row['name'] . ' ' . getemail($row['id']) . '<br>';
}
我们非常感谢任何有助于解决这一问题的方向。
好的,我有一个用于这种转换的工具,它将旧mysql函数的简单性与PDO的安全性相结合(如果使用得当)-简单而高效的PDO包装
设置好后,你只需要一个这样的代码:
function getemail($id) {
return DB::run("SELECT email FROM admin WHERE id=?", [$id])->fetchColumn();
}
像这样叫
echo getemail(1); // admin@example.com