0

私はhtmlフォーム、phpスクリプト、およびmysqlデータベースを持っています.phpスクリプトを介してフォームをmysqlデータベースに投稿したいです。フォームに記入して送信しますが、テーブルは同じままです。Ubuntuでランプセットアップを使用しています。

/var/www/add_review.php
<?
$username="user";
$password="password";
$database="database";
$review=$_POST['review'];
$Cname=$_POST['Cname'];
$picture=$_POST['picture'];
$profile=$_POST['Cprofile'];
$location=$_POST['location'];
$ratingImg=$_POST['ratingImg'];
$rating=$_POST['rating'];
$date=$_POST['date'];
$Creview=$_POST['Creview'];
$link=$_POST['link'];
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

$query = "INSERT INTO table VALUES ('$review','$Cname','$picture','$location','$ratingImg','$rating','$date','$Creview','$link')";
mysql_query($query);
if($query)
{
    echo "Success!";
}
else
{
    die(mysql_error());
}
mysql_close();
echo "Review Added!";
echo "<br />";
echo $review;
echo "<br />";
echo $name;
echo "<br />";
echo $picture;
echo "<br />";
echo $profile;
echo "<br />";
echo $location;
echo "<br />";
echo $ratingImg;
echo "<br />";
echo $rating;
echo "<br />";
echo $date;
echo "<br />";
echo $Creview;
echo "<br />";
echo $link;
?>

/var/www/add_review.html
<h1>Add A Drink</h1>
<form action="add_review.php" method="post">
<p>Review # <input type="text" name="review"><br></p>
<p>UserName <input type="text" name="Cname"><br></p>
<p>Picture URL <input type="text" name = "picture"><br></p>
<p>Users Profile URL <input type="text" name = "Cprofile"><br></p>
<p>Location <input type="text" name = "location"><br></p>
<p>Star URL <input type="text" name = "ratingImg"><br></p>
<p>Star Value <input type="text" name = "rating"><br></p>
<p>Date(MMDDYYYY) <input type="text" name = "date"><br></p>
<p>Users Review<br> <textarea name="Creview"></textarea><br></p>
<p>Review Link <input type="text" name = "link"><br></p>
<input type="submit" value="Submit">
</form>

MYSQL テーブル

+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| review    | int(11)     | YES  |     | NULL    |       |
| Cname     | varchar(20) | YES  |     | NULL    |       |
| picture   | text        | YES  |     | NULL    |       |
| Cprofile  | text        | YES  |     | NULL    |       |
| location  | varchar(30) | YES  |     | NULL    |       |
| ratingImg | text        | YES  |     | NULL    |       |
| rating    | float       | YES  |     | NULL    |       |
| date      | int(11)     | YES  |     | NULL    |       |
| Creview   | text        | YES  |     | NULL    |       |
| link      | text        | YES  |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+

私は何が間違っているのか理解できません!助けてください。

4

4 に答える 4

1

CProfile何らかのエラーが発生する可能性のある値を指定していないようです。

于 2012-06-14T13:44:06.577 に答える
1

INSERT 文では、int 値に引用符は必要ありません。

今後は、エラー メッセージを提供してください (表示されない場合は、Apache エラー ログで探してください)。

于 2012-06-14T13:46:09.383 に答える
1

クエリで列を指定してみてください。

$query = <<<EOQ

INSERT INTO yelpreviews(review, Cname, picture, location, 
                        ratingImg, rating, `date`, Creview, link)
VALUES('$review','$Cname','$picture','$location',
       '$ratingImg','$rating','$date','$Creview','$link')

EOQ; 
于 2012-06-14T13:46:16.067 に答える
0

どういう意味$_POST['image']ですか?画像をアップロードしているということですか?もしそうなら、フォーム属性で enctype = multipart/form-data を使用し、 $_FILE['image']['name'] を使用して画像の名前を取得していると確信しています。

mysql_real_escape_string($_POST['string'])もう 1 つ、 mysql インジェクションを防ぐためにを使用する必要があります。また、整数値の間に引用符を使用しないでください。

于 2012-06-14T13:50:15.123 に答える