abstrait:<?php //老師,這段代碼哪里有問(wèn)題嗎,為什么我執(zhí)行幾次后,ID都自動(dòng)變了呢,例如我現(xiàn)在增加了9條記錄,執(zhí)行這個(gè)代碼提示沒(méi)有添加記錄,我修改賦值后再添加,ID不是從10開(kāi)始的,而是跳過(guò)去好多。 /**/ //pdo 添加操作 //主要有五個(gè)步驟 //-----------------------------------------------------------------
<?php //老師,這段代碼哪里有問(wèn)題嗎,為什么我執(zhí)行幾次后,ID都自動(dòng)變了呢,例如我現(xiàn)在增加了9條記錄,執(zhí)行這個(gè)代碼提示沒(méi)有添加記錄,我修改賦值后再添加,ID不是從10開(kāi)始的,而是跳過(guò)去好多。 /**/ //pdo 添加操作 //主要有五個(gè)步驟 //------------------------------------------------------------------// //1.連接數(shù)據(jù)庫(kù),創(chuàng)建pdo對(duì)象 //2.創(chuàng)建SQL語(yǔ)句,命名占位符聲明參數(shù)(IGNORE,必須寫(xiě)緊跟在 INSERT 的后面) //3.驗(yàn)證SQL語(yǔ)句,創(chuàng)建預(yù)處理對(duì)象 //4參數(shù)綁定 //5.執(zhí)行SQL語(yǔ)句(成功true,失敗false) //1步,連接數(shù)據(jù)庫(kù) $pdo = new PDO('mysql:host=127.0.0.1;dbname=php_edu;charset=utf8','root','root'); //var_dump( $pdo);測(cè)試是否連接成功 //2步,創(chuàng)建sql語(yǔ)句 占位符以冒號(hào)開(kāi)始 $sql = "INSERT IGNORE INTO `user` (`name`,`sex`,`age`,`status`,`email`,`password`,`create_time`) VALUES (:name,:sex,:age,:status,:email,:password,:create_time)"; //3步,驗(yàn)證sql語(yǔ)句,創(chuàng)建預(yù)處理對(duì)象 $stmt =$pdo->prepare($sql); //print_r($stmt); //4步 參數(shù)綁定 $name = '單雄信'; $sex = 0; $age = 45; $email = 'shan@123.com'; $password = md5('123456'); $status = 1; $createTime = time(); $stmt->bindParam('name',$name,PDO::PARAM_STR,20); $stmt->bindParam(':sex',$sex,PDO::PARAM_INT); $stmt->bindParam(':age',$age,PDO::PARAM_INT); $stmt->bindParam(':status',$status,PDO::PARAM_INT); $stmt->bindParam(':email',$email,PDO::PARAM_STR,100); $stmt->bindParam(':password',$password,PDO::PARAM_STR,32); $stmt->bindParam(':create_time',$createTime,PDO::PARAM_INT); //5步,執(zhí)行SQL語(yǔ)句 if ($stmt->execute()){ //三元運(yùn)算符 //echo $stmt->execute(); echo ($stmt->rowCount()>0) ? '成功添加了'.$stmt->rowCount().'條記錄 ': '沒(méi)有記錄'; }else{ //??好像沒(méi)有執(zhí)行過(guò)。 exit(print_r($stmt->errorInfo(),true)); }
Professeur correcteur:天蓬老師Temps de correction:2019-05-09 14:01:46
Résumé du professeur:你可以用$stmt->debugDumpParams(), 將你要執(zhí)行的SQL打印出來(lái), 完了在數(shù)據(jù)庫(kù)中先執(zhí)行一下, 看是否正確, 參數(shù)是否已綁定成功