微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PDO准备的语句如何从ID =值或Tell =值的数据库中选择

如何解决PDO准备的语句如何从ID =值或Tell =值的数据库中选择

我想使用学生ID或学生电话从名为“ sms_students”的表中选择一条记录

这是我的代码

    $student_rand_id=$_GET['std_rand'];
    $std_tell=$_GET['std_tell'];

    $view_student = $config->prepare("SELECT * FROM sms_students WHERE st_rand = :random_id || st_tel =: st_tel");
    $view_student->execute(['random_id' => $student_rand_id]); 
    $view_student->execute(['st_tel' => $std_tell]);

    $row = $view_student->fetch();

解决方法

由于您两次调用execute,所以它执行两次,两次都带有一组不完整的参数。不过,这很容易解决:

$view_student = $config->prepare("SELECT * FROM sms_students WHERE st_rand = :random_id OR st_tel = :st_tel");
$view_student->execute(['random_id' => $_GET['std_rand'],'st_tel' => $_GET['std_tell'] ]); 

$row = $view_student->fetch();

尝试摆脱一次性变量,它们几乎总是不必要的,并尽力使名称完全匹配。一起看到st_telstd_tell是一个不正确的迹象。获取您的代码以同意名称并坚持使用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。