2014-06-06 129 views
-3

我正在使用mysql_query執行插入查詢。由於數據庫無法插入Educations列的值,因此無法保存特定用戶的數據,並返回錯誤結果。這對剩下的用戶來說工作正常。插入查詢失敗

$result = mysql_query("INSERT INTO user (FirstName,LastName,Pic,Birthday,Industry,Languages,Summary,Email,Positions,Skills,Publications,Volunteer,Location,Awards,Certifications,Interests,Educations) 
values ('$first_name','$last_name','$pic','$birthday','$industry','$languages','$summary','$email','$positions','$skills','$publications','$volunteer','$location','$awards','$certifications','$interests','$education')",$mysql); 

所有字段都是字符串值。

+0

添加錯誤報告給您的文件(S) '的error_reporting(E_ALL)的頂部; ini_set('display_errors',1);' –

+0

''Educations'的db字段類型是?同時將查詢分配給一個變量,然後您可以回顯它以進行調試。 –

+0

有很多原因可能會被打破,其中大部分與可能錯誤地轉義變量有關。 'echo mysql_error();'。與舊的MySQL'工作時 –

回答

1

變量可以不逃脫。我建議你切換到使用PDO庫,因爲從PHP 5.5開始,MySQL本地擴展將被棄用。與MySQL本地數據庫相比,PDO有許多優點,例如預準備語句和命名參數。 Prepare方法將會轉義並且自動引用你傳入的變量。你不必再擔心它了。看看我當前的代碼重寫:

$pdo = new PDO($dsn, $user, $password); 

$values_array = array(
    ':first_name' => $first_name, 
    ':last_name' => $last_name, 
    ':pic' => $pic, 
    ':birthday' => $birthday, 
    ':industry' => $industry, 
    ':languages' => $languages, 
    ':summary' => $summary, 
    ':email' => $email, 
    ':positions' => $positions, 
    ':skills' => $skills, 
    ':publications' => $publications, 
    ':volunteer' => $volunteer, 
    ':location' => $location, 
    ':awards' => $awards, 
    ':certifications' => $certifications, 
    ':interests' => $interests, 
    ':education' => $education 
); 

$result = $pdo->prepare('INSERT INTO user (FirstName,LastName,Pic,Birthday,Industry,Languages,Summary,Email,Positions,Skills,Publications,Volunteer,Location,Awards,Certifications,Interests,Educations) values (:first_name,:last_name,:pic,:birthday,:industry,:languages,:summary,:email,:positions,:skills,:publications,:volunteer,:location,:awards,:certifications,:interests,:education)'); 

$result->execute($values_array); 

你可能要考慮切換到PDO爲未來的證明。

0

我注意到大部分價值變量都是複數,除了$教育,雖然關鍵州的複數。

除此之外,看逃逸,你的報價。

+3

['如上述3分鐘前所述](https://stackoverflow.com/questions/24073231/insert-query-is-failing#comment37123284_24073231) - 這是一條評論,而不是一個答案。 –