当MySQLi语句很小时,它们非常易于使用.但是,一旦有超过一定数量的有界参数,就很难跟踪s
并i
同步属性.如下例所示:
$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(); }
是否有更简单的方法来分离i
和s
?像这样,我觉得如果你能够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
吗?