如何解决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_tel
和std_tell
是一个不正确的迹象。获取您的代码以同意名称并坚持使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。