PDA

Просмотр полной версии : Помогите разобраться с Mysql


cheka99
25.05.2006, 19:39
Eсть скрипт он вносит информацию в базу данных.Пишет что все ок.Инфа в базе.
Хочу вывести инфу из базы и оказывается что ее там нет.Когда в ручную всю инфу в базу заношу,то скрипт выводит то что мне надо.Почему так получается?(все делал на localhost'е)

EST a1ien
25.05.2006, 19:55
А исходник скрипта можно или мы должны угадать что утебя написано и что нетак?

cheka99
25.05.2006, 21:01
вот 1 скрипт который добавляет инфу
<?
$host = "localhost";
$user = "root";
$pass = "";
$db = "products";
$table = "clients";
mysql_connect($host,$user,$pass) OR DIE("no connect ");
mysql_select_db($db) or die(mysql_error());
$query = "INSERT INTO $table VALUES('$name','$email', '$preference')";
mysql_query($query) or die(mysql_error());
echo "infa v baze.";
mysql_close();
?>

вот 2 скрипт который выводит
<?
$host = "localhost";
$user = "root";
$pass = "";
$db = "products";
$table = "clients";
mysql_connect($host,$user,$pass) OR DIE("no connect");
mysql_select_db($db) or die(mysql_error());
$querty = "SELECT * FROM $table WHERE choise = 'iabloki'";
$res = mysql_query($querty) or die(mysql_error());
$number = mysql_num_rows($res);
if ($number == 0) {
echo "<CENTER><P>iablok net</CENTER>";
} else {
echo "<CENTER><P>colichectvo iablok $number<BR><BR>";
while ($row=mysql_fetch_array($res)) {
echo $row['name']."<BR>".$row['email']."<BR>";
echo "<BR><BR>";
}
}
?>
данные передаются 1 скрипту из формы.

LoFFi
25.05.2006, 21:51
Синтаксис:
Insert Into имя таблицы (имя поля1, имя поля2, ...) Values ('значение1','значение2',...)

GreenBear
25.05.2006, 23:00
Синтаксис:
Insert Into имя таблицы (имя поля1, имя поля2, ...) Values ('значение1','значение2',...)
Не обязательно... Если вводимое кол-во параметров равно кол-ву столбцов
Нужно, например, если ввести значение только в один столбец в таблице, где их больше 1.
А в обычных случаях работает нормально и без table(name, name2)

Trinux
26.05.2006, 03:28
Не обязательно... Если вводимое кол-во параметров равно кол-ву столбцов
Нужно, например, если ввести значение только в один столбец в таблице, где их больше 1.
А в обычных случаях работает нормально и без table(name, name2)
Не учи детей плохому. Новичкам нельзя так вставлять данные в БД, только по схеме (name1, name2) VALUES ('1', '2') и никак иначе. Да и вообще схема, которую ты защищаешь имеет очень много багов на уровне логики.
Да и потом, mysql советую юзать схему (name1, name2) VALUES ('1', '2'), так как неуказанные поля заполняются дефолтовыми значениями на ходу, что уменьшает время на выполнение запроса.

GreenBear
26.05.2006, 08:23
Я и не говорю, что так правильно. Просто сказал, что не обязательно в этом ошибка.

cheka99
29.05.2006, 21:20
Все ребят,спасибо.Разобрался.