2013-07-27 81 views
0

所以我有這個問題,我從POST獲取的值,但是當插入查詢什麼都不運行顯示在數據庫中,但我沒有得到任何錯誤和回聲工作。下面是我的文件:PHP將值插入SQL表

的config.php:

<?php 

$host = "000webhost.com"; 
$user = "a9257*****"; 
$pass = "*****"; 
$db = "a9257*****"; 

$connect = mysql_connect($host, $user, $pass); 
mysql_select_db($db, $connect); 

?> 

這裏是我的submit.php:

<?php 

include "config.php"; 

$fname = $_POST['fname']; 
$lname = $_POST['lname']; 
$email = $_POST['email']; 
$pass = md5($_POST['pass']); 

$insert = 'INSERT INTO tblUsers (userFirstName, userLastName, userEmail, userPassword) VALUES("'.$fname.'","'.$lname.'""'.$email.'","'.$pass.'")'; 

mysql_query($insert); 

echo $fname; 
echo $lname; 
echo $email; 
echo $pass; 

?> 

任何幫助將非常感激。

+0

您正在使用錯誤的mysql庫。 ext/mysql已棄用。 – Mike

+0

'mysql_query($ insert)die('Error:'。mysqli_error());'它會顯示錯誤。 –

+0

你確定沒有錯誤嗎?你似乎沒有檢查從MySQL返回的錯誤。考慮到你的代碼對於SQL注入攻擊是非常開放的,幾乎任何事情都可能在該查詢中發生。 – David

回答

2

$insert = 'INSERT INTO tblUsers (userFirstName, userLastName, userEmail, userPassword) VALUES("'.$fname.'","'.$lname.'","'.$email.'","'.$pass.'")';

你忘了一個逗號"'.$lname.'"HERE"'.$email.'"

編輯:逃避你的變量或數據庫將得到砍死(會,不若;))

+0

-1沒有解決SQL注入問題 – Mike

+0

單詞..我剛看到問題並給出了答案。 –

+0

您仍然可以編輯它 – Mike

2

你沒有錯誤,因爲你沒有問MySQL把它們給你!

改變這一行:

mysql_query($insert); 

到這個版本:

mysql_query($insert, $connect) or die("MySQL error:". mysql_error($connect)); 

讓我們知道錯誤,或者直接修復它自己。

請加ESCAPING!你所有的值都允許SQL注入攻擊!

請不要使用密碼哈希的MD5!從PHP 5.5開始,有易於使用的密碼散列函數,它們也被反向移植到PHP 5.3.6。請包括這個簡單的庫:https://github.com/ircmaxell/password_compat