亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問“參數號無效:未定義參數”插入數據

請問“參數號無效:未定義參數”插入數據

哈士奇WWW 2019-09-05 11:05:58
“參數號無效:未定義參數”插入數據UPDATE列出VALUES時我犯了一個小錯誤。我應該輸入“:username”而不是“:alias”。我想這個問題的答案可歸功于任何想要它的人的自由統治嗎?或者我刪除這個問題?原版的我一直在使用Yii的活躍記錄模式。現在,我的項目需要為一個小事務訪問不同的數據庫。我認為Yii的DAO對此有好處。但是,我收到了一個神秘的錯誤。CDbCommand無法執行SQL語句:SQLSTATE [HY093]:參數號無效:未定義參數這是我的代碼:public function actionConfirmation{     $model_person = new TempPerson();     $model = $model_person->find('alias=:alias',array(':alias'=>$_GET['alias']));     $connection=Yii::app()->db2;             $sql = "INSERT INTO users (username, password, ssn, surname                     , firstname, email, city, country)                      VALUES(:alias, :password, :ssn, :surname                     , :firstname, :email, :city, :country)";             $command=$connection->createCommand($sql);             $command->bindValue(":username", $model->alias);             $command->bindValue(":password", substr($model->ssn, -4,4));             $command->bindValue(":ssn", $model->ssn);             $command->bindValue(":surname", $model->lastName);             $command->bindValue(":firstname", $model->firstName);             $command->bindValue(":email", $model->email);             $command->bindValue(":city", $model->placeOfBirth);             $command->bindValue(":country", $model->placeOfBirth);             $command->execute();             $this->render('confirmation',array('model'=>$model));}這構造了以下查詢(如應用程序日志中所示):INSERT INTO users (username, password, ssn, surname, firstname, email                   , city, country) VALUES(:alias, :password, :ssn, :surname, :firstname, :email, :city, :country);FYI $model->placeOfBirth應該是城市和縣的價值觀。這不是一個錯字(我只是一件傻事)。
查看完整描述

3 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

上面沒有提到的這個錯誤的原因是當你處理一個動態的參數數組時,如果你取消設置任何參數,你需要在傳入它們之前重新索引。這個的殘酷部分是你的錯誤日志沒有顯示索引,看起來一切都是正確的。例如:

SELECT id WHERE x = ?, y = ?, z = ?

可能產生Log:無效的參數號:參數未定義為params(“x”,“y”,“z”)

這看起來不應該拋出錯誤,但如果索引是這樣的:

0 => x, 1 => y, 4 => z

它認為最后一個參數未定義,因為它正在尋找鍵2。



查看完整回答
反對 回復 2019-09-07
?
DIEA

TA貢獻1820條經驗 獲得超2個贊

可能是你試圖用單引號綁定一個參數而不是讓它為你工作。

相比:

Model::model()->findAll("t.description ilike '%:filter%'", array(':filter' => $filter));

附:

Model::model()->findAll("t.description ilike :filter", array(':filter' => '%' . $filter . '%'));



查看完整回答
反對 回復 2019-09-07
  • 3 回答
  • 0 關注
  • 965 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號