0

考えられることはすべて試しました。何度も何度も見ています。echo ();問題が別のものであるかどうかを確認するために追加しました。サーバー上にあるように、すべてが綴られています。他に何をすべきかわかりません。助けてください!!

<?php
include('../lock.php');

$username    =    $login_session;  
$characterName    =    mysql_real_escape_string($_POST['characterName']);  
$gender =    mysql_real_escape_string($_POST['gender']);   
$height = "58" + rand(2, 20);   
$weight = "120" * rand(2, 8);

echo ($id . "<br />");    
echo ($username . "<br />");  
echo ($characterName . "<br />");  
echo ($gender . "<br />");  
echo ($height . "<br />");   
echo ($weight . "<br />"); 

if(isset($_POST['nc1'])) 

{  
$query    =    "INSERT INTO character(id, username, characterName, gender, height,   weight) VALUES ('$id', '$username', '$characterName', '$gender', '$height', '$weight')";  
mysql_query($query) or die('Error: ' . mysql_error());  
//header('location:success.php');   
echo ("success");  
}  
?>

2014 年 1 月 29 日 - 提案された更新を行いました (ただし mysqli)。すべてが正しくエコーアウトされます。mysql_error() は空白を返しますが、エラーが発生します。POSTは機能しています。私はまだそれを修正する方法がわかりません。接続も正しいです。

エラーは次のとおりです。SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルを参照して、1 行目の「文字 (id、ユーザー名、文字名、性別、高さ」の近くで使用する正しい構文を確認してください。

4

2 に答える 2

1

まず、質問でデータベースの論理構造を指定する必要があります。ID が主キーであり、実行したよう$id = $idです。これにより、id が重複または null になる可能性があるため、その変数の最初のチェックが設定されているかどうかがチェックされ、null でないなどの他の制約もチェックされます。フィールドに適用され、満たされていない場合、行も挿入できません。

次に、次のような接続文字列を介してデータベースに到達できる場合は、データベース接続文字列を確認します。

boolean function connect($host, $uname , $pass){
if(mysql_connect($host, $uname, $pass))
return true;
else 
return false;
}

これを試してみてください。行を挿入できるかもしれません

于 2013-11-03T15:39:13.403 に答える
0

sql_connect が正しいことを確認してください。使用している場合は、次のlocalhostようなものが必要です。

mysql_connect("localhost","root","password") or die(mysql_error)

データベース接続で発生する可能性のあるエラーが表示されるため、使用するか死ぬことを確認してください

于 2013-11-03T15:26:49.807 に答える