0

何らかの理由で、私のphpコードは私の変数を私のmysqlデータベースに書き込んでいません。

コメントが「ここで死ぬ」まですべてがうまくいく

<?php
$name = ucwords($_POST['name']);
$sex = ucwords($_POST['sex']);
$age = intval($_POST['age']);
$email = $_POST['email'];

//DB ACCESS
$db = mysql_connect("localhost", "root", "root");
mysql_select_db("namedb", $db);
//DB ACCESS

if ($sex != 'M' && $sex != 'F') {

echo "Please go back and enter either M or F for 'Sex' <br />";
echo "<a href='index.html'>Back</a>";
die;
}

if (is_int($age) != yes) {
echo "Please enter a number for your age. <br />";
echo "<a href='index.html'>Back</a>";
die;
}

$query = "INSERT INTO people (age, name, email, sex) VALUES($age, $name, $email, $sex)";
mysql_query($query) or die ("Error Updating DB"); //DIES HERE
echo "Thanks $name, we've added you to our database.";

?>

私のデータベースはすべてセットアップされています。なぜデータベースにデータが送信されないのかわかりません。これがmySQLの写真です mysql

助けてくれてありがとう。

4

2 に答える 2

3
$query = "INSERT INTO people (age, name, email, sex) VALUES('$age', '$name', '$email', '$sex')";

mysql_*をサポートしていません

于 2012-05-29T16:35:43.083 に答える
0

これを使用する必要があります

  if (!is_int($age)){
       echo "Please enter a number for your age. <br />";
       echo "<a href='index.html'>Back</a>";
       die;
}

is_int()はtrueまたはfalseステートメントを返し、if(is_int)は基本的にif(is_int($ foo == true)を意味するため、よりクリーンでおそらくより効果的です。

于 2012-05-29T16:46:31.190 に答える