Добрый День, Всем! Обьясните, пожалуйста, где может быть ошибка, почему я не могу занести данные с моей формы в БД? Ниже приведен сам код: <?php $hostname = "127.0.0.1:3306"; $username = "root"; $pass=""; $dbName = "test"; $usertable = "clients"; $nameuser=$_REQUEST['name']; $preference=$_REQUEST["preference"]; $mail=$_REQUEST["email"]; PRINT "<CENTER>"; echo "Привет.<BR>"; echo $nameuser."<BR>\n"; echo "Спасибо за ваш интерес.<BR><BR>"; echo "Вас интересуют $preference Информацию о них мы пошлем вам на email: $mail"; echo "</CENTER>"; mysql_connect($hostname,$username,$pass) or die("could not connect"); PRINT "Connected to MYSQL..."; mysql_select_db($dbName) or die("could not connect to DB"); PRINT "<BR>Connect to DB"; $z="INSERT INTO $usertable (name,email,choise) VALUES ($nameuser,$mail,$preference)"; print "<BR>".$z; $rez=mysql_query($z) or die("Query failed"); mysql_close(); ?> Т о есть при вызове этого скрипта я всегда получаю ошибку "Query failed". Где я ошибаюсь? Заранее спасибо!
or die("Query failed") замени на or die("Query failed: ".mysql_error()) и посмотри, наконец, что за ошибка у тебя происходит
DoGGy тогда уж PHP: <?php $z="INSERT INTO `$usertable` (`name`,`email`,`choise`) VALUES ('$nameuser','$mail','$preference')"; ?>
Прописал следующие: mysql_select_db($dbName) or die("could not connect to DB"); PRINT "<BR>Connect to DB"; $z="INSERT INTO $usertable (name,email,choise) VALUES ('$nameuser','$mail','$preference')"; print "<BR>".$z; $rez=mysql_query($z) or die("Query failed:".mysql_error()); При вызове данной функции получаю следующию ошибку: INSERT INTO clients (name,email,choise) VALUES ('Eugene','eugene','Апельсины')Query failedata too long for column 'choise' at row 1 в таблице clients, для поля name я использую тип VARCHAR(25), для email VARCHAR(25), для choise VARCHAR(8)
Н важно, пусть даже varchar(8) все равно он должен записывать данные, но они будут обрезаться до 8 символов. Всем спасибо большое. Разобрался в чем дело. Все работает теперь. проблемы была в том, что по умол. кодировка для этого поля была latin1. Сейчас я изменил это значение на utf8 и все заработало. Кому интересно изменить тип кодировки. Можно следующим образом: Alter table clients modify choise CHAR(10) CHARSET utf8; Где clients – это моя таблица Choise – это мое поле, куда заносится информация о Апельсинах