MYSQL / PHP выводит всю таблицу, когда я хочу вывести только одну строку

0

Это, безусловно, новичок. Есть два вопроса. Идентификатор в моей таблице MYSQL (устанавливается на автоинкремент) продолжает расти, хотя я удаляю строки из своей таблицы (я использую phpmyadmin). Что касается другой проблемы, я не могу найти способ работать со строкой, недавно введенной пользователем. Код echos все существующие строки из MYSQL. Я выделил наиболее подходящий раздел кода.

<?php
//establish connection to mysql
$con = mysql_connect("localhost","root","");
if (!$con)
{
  die('Could not connect: ' . mysql_error());
}

/*retrieve user input from input form
and initialize variables */  
$Word1 = $_POST["Word1"];
$Word2 = $_POST["Word2"];
$Word3 = $_POST["Word3"];
$Word4 = $_POST["Word4"];
$Word5 = $_POST["Word5"];

//select db
mysql_select_db("madlibs", $con);  

//insert user input for word 1
$sql = "INSERT INTO test (Word1, Word2, Word3, Word4, Word5)
VALUES
('$Word1', '$Word2', '$Word3', '$Word4', '$Word5')";
if(!mysql_query($sql,$con))
{
  die('Error: ' . mysql_error());
}

$result = mysql_query ("SELECT * FROM test");  

/* take note here */
while($row = mysql_fetch_array($result))
{
  echo $row['Word1'] . " " . $row['Word2'] . " " . $row['Word3'] . " " . 
       $row['Word4'] . " " . $row['Word5'] . " " . $row['id'];
  echo "<br />";
} /* take note here */
mysql_close($con);
?>
  • 0
    Вы можете поместить весь код between
Теги:

2 ответа

2
Лучший ответ
$result = mysql_query ("SELECT * FROM test order by id desc limit 1");

Что касается вашего id вопроса... как работает идентификатор. Они не заполняют пробелы.

На заметку: никогда не помещайте представленные пользователем данные непосредственно в строку запроса. Всегда избегайте их с помощью mysql_real_escape_string().

0
SELECT * FROM test ORDER BY Id DESC LIMIT 1

Ещё вопросы

Сообщество Overcoder
Наверх
Меню