MySQLi - 当你的查询超过15'?'和sisisissssisisiss时,你如何跟踪?

  发布于 2023-01-31 18:04

当MySQLi语句很小时,它们非常易于使用.但是,一旦有超过一定数量的有界参数,就很难跟踪si同步属性.如下例所示:

$query = "INSERT INTO transaction_table (eventide, proxid, valid, fname, lame, email, studentid, status, affiliation, grade, error_statement, gender, netid, residence, school, department, major1, major2, dob, type, level) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";

if($stmt = $mysqli->prepare($query)){
    $grade_new = gradeChanger($grade);
    $stmt->bind_param('iiisssiisssssissssiss',$_POST['pid'],$_POST['proxid'],$valid,$fname,$lname,$email,$studentid,$status,$affiliation,$grade_new,$error_submit,$gender,$netid,$residence,$school,$department,$major1,$major2,$dob,$type,$level);
    $stmt->execute();
    $stmt->close();
}

是否有更简单的方法来分离is?像这样,我觉得如果你能够bind_param分组,就像这样,它会更容易阅读.无论如何还有这样的事吗?

$stmt->bind_param('iiis', $_POST['pid'], $_POST['proxid'], $valid, $fname);
$stmt->bind_param('ssii', $lname, $email, $studentid, $status);
$stmt->bind_param('sass', $affiliation, $grade_new, $error_submit, $gender);
$stmt->bind_param('siss', $netid, $residence, $school, $department);
$stmt->bind_param('ssiss', $major1, $major2, $dob, $type, $level);

是切换到的唯一解决方案PDO吗?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有