2011-01-13 16 views
5

i bir forum form değerlerini eklemek için bir php kodu yazıyorum değilbir sorgu phpMyAdmin sokulan fakat PHP

$dbServer = mysql_connect("localhost" , "root", "") ; 
if(!$dbServer) die ("Unable to connect"); 
mysql_select_db("kfumWonder"); 
$name= $_POST['name'] ; 
$password= md5($_POST['password']); 
$email= $_POST['email'] ; 
$major= $_POST['major'] ; 
$dateOfBirth=$_POST['dateOfBirth'] ; 
$webSite = $_POST['website']; 
$joinDate= date("Y m d") ; 

$query = "INSERT INTO user (name, password, email, major, dob, website, join_date) 
      Values ('$name', '$password', '$email', '$major', '$dateOfBirth', 
        '$webSite' , '$joinDate')" ; 

//echo $query ; 
$result = mysql_query($query) ; 

if (! $result) 
echo " no results " ; 

i baskılı sorgu aldı ve PHPMyAdmin bunu çalıştırdığınızda bu mükemmel çalışıyor değerleri ama bu kodu çalıştırdığımda hiçbir şey olmuyor

+1

: 'yankı mysql_error(); Ayrıca' –

+1

, senin kod, SQL enjeksiyon için açıktır Canlı yayınlanmadan önce bunu düzeltmemiz gerekir: http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php –

+4

kimse bilmiyor, neden kodunuz SİZİN sunucunuzda çalışıyor? Yanlış –

cevap

1

Bu mysql_real_escape_string ($ _ POST ['blah']) gibi sihirli tırnaklar yoksa, POST'unuzun çıkması gerekir. Sihirli alıntılar açık olsa bile, eğik çizgi çıkarmalı veya cofig'teki sihirli tırnak işaretlerini kapatmalı ve mysql_real_escape_string ile yeniden önbelleğe almalısınız. Veya PDO'yu sizin için işlediği gibi veritabanı girişleri yapmak için kullanın.

Ayrıca, hatalardır ne olduğunu görmek için, böyle Sorgunuzla diyebiliriz: Başlangıç ​​hataları gösteren

if (!$result = mysql_query($query)) echo mysql_error(); 
+0

Hakkında # 1, SQL, büyük harf duyarlı bir dildir. – shamittomar