3

以下は、registration.php ページからリダイレクトされる私の test.php ページです。SQLクエリを除いて、ここのすべてが非常にうまく機能します。すべてのアラート タグはセッション変数の値を適切に表示しますが、このページでは「エラー、クエリの挿入に失敗しました」というエラーが表示されます。クエリ内の変数への引用符など、すべての可能性を試しましたが、何も機能していません..誰か助けてください..

<?php
include "connect.php";
session_start();

$ser= $_SESSION['service'];
$comp=$_SESSION['comp'];
$yr= $_SESSION['year'];
$addr= $_SESSION['addr'];
$per= $_SESSION['per'];
$no= $_SESSION['no'];
$email= $_SESSION['email'];
$uname= $_SESSION['uname']; 
  echo "<script>alert('$ser')</script>";
  echo "<script>alert('$comp')</script>";
  echo "<script>alert('$yr')</script>";
  echo "<script>alert('$no')</script>";
  echo "<script>alert('$addr')</script>";
if($ser=='designing'){
   $ser=1;
}else if($ser=='webdev'){
   $ser=2;
}else{
   $ser=3;
}
echo "<script>alert('$ser')</script>";
$sql= "insert into login values 
      ('$uname','xxxx',$ser,'$comp',$yr,'$addr','$per',$no,'$email')";
mysql_query($sql) or die('Error, insert query failed');
?>

<span style="font-family:Tahoma; font-weight:bold; font-size:11px;color:#666666" 
      align=center>Your Registration is successful...<br/>Our team will contact you at
      the earliest...
</span>
4

4 に答える 4

8
mysql_query() or die(mysql_error());
于 2012-06-07T11:09:03.683 に答える
0
$sql= "insert into login (field1, field2, ....) values

('$uname','xxxx',$ser,'$comp',$yr,'$addr','$per',$no,'$email')";

また、ユーザーからのフィルタリングされていないデータではなく、BIND を使用してください。もう一つのまた: mysqli_*old の代わりに使用してくださいmysql_*

于 2015-01-31T16:52:49.157 に答える
0

非常に興味深い式。ただし、次のようなものをお勧めします。

mysql_query($sql);
if (mysql_error()) die('Error, insert query failed');

死んだ理由に興味がある場合は、次のようにします。

mysql_query($sql);
if ($error = mysql_error()) die('Error, insert query failed with:' . $error);

ただし、この種のエラーはユーザーには表示されないことに注意してください。

于 2012-06-07T11:03:08.177 に答える