2012-05-03 10 views
0
<html> 
    <head> 
    <title> 
     Welcome 
    </title> 
    </head> 
    <body> 
    <?php 
$fn=$_POST['f_name']; 
$ln=$_POST['l_name']; 
$gen=$_POST['sex']; 
$dob=$_POST['dob']; 
$em=$_POST['email']; 
$un=$_POST['u_name']; 
$pd=$_POST['pswd']; 
$mb=$_POST['mob']; 
$con=mysqli_connect('localhost','username','password','db') 
    or die("Error connecting to database"); 
$query="INSERT INTO user_details(First_Name, Last_Name, Gender, DOB, Email_Address, 
Username, Password, Mobile_No) VALUES     
('$fn','$ln','$gen','$dob','$em','$un',SHA('$pd'),'$mb')"; 
echo $gen; 
$result=mysqli_query($con,$query) 
    or die("Error querying the database"); 

mysqli_close($con); 
$name=$fn.' '.$ln; 
echo "<b>Welcome $name</b>"; 
    ?> 
    </body> 
</html> 

このコードで何をしようとしているのは、HTMLフォームからデータを取り出し、それをMYSQLデータベースに格納することです。私は完全に任意の型の競合や任意のデータ型の長さの問題については、私はそれを取得していない私のデータベースをチェックした。 なぜそれが表示されているのかわかりません>>データベースを照会するエラー? ありがとうございます。誰でも次のPHPコードでクエリが実行されない理由を教えてもらえますか?

+0

mysql_error()は、mysqlがあなたに与えているエラーを教えてくれるでしょう –

+2

私はどんな書式も見ません.... – ManseUK

+0

$ result = mysqli_query($ con、$ query)or die(mysql_error());正確なエラーを取得します。 – Adnan

答えて

3

変更

$result=mysqli_query($con,$query) 
    or die("Error querying the database"); 

。これは、サーバーからの正確なエラーメッセージを提供します

$result=mysqli_query($con,$query) 
    or die($mysqli->error); 

docs are here

1

まず、mysqliでプリペアドステートメントを使用する必要があります。それは非常に簡単です。

第2に、...or die($mysqli->error)を使用して、エラーメッセージを表示する必要があります。

0

取得するための手掛かりを持っている人から適切なコードクエリに失敗した場合のエラーメッセージ

$result = mysqli_query($con,$query) 
    or trigger_error(mysqli_error($con)." ".$query); 
関連する問題