По аналогии для примера попробовал первый раз вытащить из БД данные через цикл, где-то увидел как в цикле выводятся. Вот у меня есть такая БД. Код (Text): id name lastname dol 1, Алексей Алексеев Директор 2, Иван Иванов Заместитель 3, Александр Александров Программист Такой код написал: Код (Text): <?php $db = mysql_connect("localhost","alex","12345"); mysql_select_db("first_bd", $db); $result = mysql_query("SELECT * FROM firma", $db); $myrow = mysql_fetch_array($result); do{ echo "Сотрудник № - ".$myrow['id']."<br>"; echo $myrow['name']."<br>"; echo $myrow['lastname']."<br>"; echo $myrow['dol']."<br>"; } while($myrow = mysql_fetch_array($result)); ?> 1)Не могу понять каким образом работает вот это условие: Код (Text): while($myrow = mysql_fetch_array($result)); Объясните пож. 2) Скажите ,каим образом переменная $myrow превращается в массив, после этой строки? Код (Text): $myrow = mysql_fetch_array($result); Заранее благодарю за ответ.
$db = mysql_connect("localhost","alex","12345"); mysql_select_db("first_bd", $db); $result = mysql_query("SELECT * FROM firma", $db); while($myrow = mysql_fetch_array($result)) { echo "Сотрудник № - ".$myrow['id']."<br>"; echo $myrow['name']."<br>"; echo $myrow['lastname']."<br>"; echo $myrow['dol']."<br>"; } П.С. влом переписывать
Скажите после вот этой строки: Код (Text): $myrow = mysql_fetch_assoc($result); Переменная myrow содержит в себе всю строку? Если у меня таблицы состоят из 3 столбцов, значит в переменную $myrow запишется первая строка, ячейка 1(1столбец),ячейка 2 (2-ой столбец), ячека 3(3-ий столбец)? Все 3 ячейки запишутся?
новички отличаются от имбециллов тем, что могут сами проверить что получается в массиве хотя бы с помощью простейшего print_r()
Апельсин мне не хватает увы, часто надо больше 1ой переменной посмотреть, 100500 ехо надоело давно уже писать
Попробовал написать отдельно, для експеримента ещё раз, перестало работать. У меня база данных pinokio таблица pena. nomer name lastname dol 1 Иванов Александр Инженер Вот тренировочный код не сработал, выдал такую ошибку при заполнении формы и отправки в файл bd.php Код (Text): Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in z:\home\xai.loc\www\bd.php on line 24 bd.php Код (Text): <?php if(isset($_POST['im'])) { $im = $_POST['im']; } if(isset($_POST['fam'])) { $fam = $_POST['fam']; } if(isset($_POST['otch'])) { $otch = $_POST['otch']; } $db = mysql_connect("localhost","alex","12345"); mysql_select_db("pinokio",$db); $result = mysql_query("insert into pena(2,im,fam,otch) VALUES($im,$fam,$otch)",$db); $my_result = mysql_fetch_assoc($result); echo $my_result['im']; ?> Файл send_form.php Код (Text): <html><head><title>Сайт</title> <link rel="stylesheet" type="text/css" href="stili.css"> </head> <body> <form action="bd.php" method="post" name="n"> <b id="oop">Введите </b> <b id="tata">имя</b><input type="text" name="im"> <p id="vvv"> Введите <span id="salo">фамилию <input type="text" name="fam"></span> <br><p id="vvv"> Введите <span id="xleb">должность <input type="text" name="otch" ></span> <br> <p id="vvv"> <input name="knopka" type="submit" value="Записать в базу данных" > </form> </body> </html> stili.css Код (Text): b#oop{color:#FF0000;} b#tata{padding-right:1.4cm; } span#salo{word-spacing:20px;} span#xleb{word-spacing:10px;} p#vvv{line-height:50px}
открываем мануал http://php.net/mysql_query http://www.php.ru/manual/function.mysql-query.html mysql_fetch_assoc() разбирает данные после запросов типа SELECT, SHOW, DESCRIBE, EXPLAIN А тут INSERT запрос.
$result = mysql_query("insert into pena(2,im,fam,otch) VALUES($im,$fam,$otch)",$db); тут ты вставляешь запись. $my_result = mysql_fetch_assoc($result); тут ты ожидаешь чтото получить из базы. А где запрос? Один запрос на вставку, еще один на то чтоб прочитать эту запись. И запрос на вставку неправильный, что такое 2? Его там быть не долно, в первых скобках указываешь в какие поля вставляешь, во вторых - что будешь вставлять.
может у него поле так называется Кстати, это не запрещено, как для поля, так и для имени таблицы и самой БД. Вот только на извращение смахивает. Почти как кириллические названия полей
Написал так, и всё равно выдаёт ошибку: Код (Text): Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in z:\home\xai.loc\www\bd.php on line 26 Код (Text): <?php if(isset($_POST['im'])) { $im = $_POST['im']; } if(isset($_POST['fam'])) { $fam = $_POST['fam']; } id,im,fam,otch - 'это название полей в базе данных. if(isset($_POST['otch'])) { $otch = $_POST['otch']; } $db = mysql_connect("localhost","alex","12345"); mysql_select_db("pinokio",$db); $result = mysql_query("insert into pena(id,im,fam,otch) VALUES('',$im,$fam,$otch)"); $my_result = mysql_fetch_assoc($result); echo $my_result['im']; ?>
Golovastik Та блин говорят же - 1 запрос на вставку, еще один запрос на вывод. Какого хера ты вставляешь и пытаешься сразу чтото посмотреть? PHP: <?php $one = mysql_query("INSERT ..."); $two = mysql_query("SELECT "); $t = mysql_fetch_assoc($two); echo $t['name']; И поле ID само будет заполняться, просто пропускай его. ("INSERT INTO table (name, any) VALUES ("'.$name.'", "'.$any.'")")