2012-06-14 2 views
0

У меня есть html-форма, php-скрипт и база данных mysql. Я хочу, чтобы форма отправлялась в базу данных mysql через php-скрипт. Я заполняю форму и отправляю, но таблица остается неизменной. Я использую настройку лампы с помощью Ubuntu.PHP не вставляет в таблицы MYSQL

/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 |  | 
+-----------+-------------+------+-----+---------+-------+ 

Я не могу понять, что я делаю неправильно! пожалуйста помоги.

+1

Какая ошибка вы получаете? – skos

+3

Пожалуйста, не используйте 'mysql_ *' функции для нового кода. Они больше не поддерживаются, и сообщество начало процесс [устаревания] (http://goo.gl/KJveJ). См. [** красное поле **] (http://goo.gl/GPmFd)? Вместо этого вы должны узнать о [подготовленных утверждениях] (http://goo.gl/vn8zQ) и использовать либо [PDO] (http://php.net/pdo), либо [MySQLi] (http://php.net/ MySQLi). Если вы не можете решить, [эта статья] (http://goo.gl/3gqF9) поможет выбрать. Если вы хотите узнать, [это хороший учебник PDO] (http://goo.gl/vFWnC). –

+0

@Truth, полностью собирающийся украсть ваш комментарий для будущего использования! –

ответ

1

Возможно, вы не указали значение CProfile, которое, вероятно, вызовет ошибку.

1

В вашем предложении INSERT значения int не требуют кавычек.

С этого момента, пожалуйста поставляете сообщения об ошибках (если вы не видите один, искать его на апача журнал ошибок)

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; 
0

Что делать вы имеете в виду $_POST['image']? Это вы загружаете изображение? Если это так, я уверен, что вы используете enctype = multipart/form-data для атрибута формы, а также используете $ _FILE ['image'] ['name'], чтобы получить имя изображения.

Еще одна вещь, вы должны использовать mysql_real_escape_string($_POST['string']) для предотвращения инъекции mysql. А также не используйте цитату между целыми значениями.

+0

насколько $ _POST ['image'] Я просто ввожу URL-адрес изображения. – UnbrandedTech

Смежные вопросы