#php #mysql
#php #mysql
Вопрос:
Да, он подключается к базе данных, все остальное работает нормально. Кажется, я не могу извлечь проход из базы данных, который показывает, что он не возвращается echo
<?php
$username="test";
include("db.php");
$con=mysql_connect($server, $db_user, $db_pwd) //connect to the database server
or die ("Could not connect to mysql because ".mysql_error());
mysql_select_db($db_name) //select the database
or die ("Could not select to mysql because ".mysql_error());
$query="select password from ".$table_name." where username='$username'";
$result=mysql_query($query,$con) or die('error');
while ($row = mysql_fetch_assoc($result));
$un_pass_s1=$row['password'];
echo $un_pass_s1;
?>
Комментарии:
1. Пожалуйста, не используйте
mysql_*
функции в новом коде . Они больше не поддерживаются и официально устарели . Видите красное поле ? Вместо этого изучите подготовленные инструкции и используйте PDO или MySQLi — эта статья поможет вам решить, что именно.2. Вы делаете много других неправильных вещей, от использования устаревших
mysql_*
функций до (по-видимому) хранения паролей в виде обычного текста в базе данных. Если вы следуете руководству, вам следует отказаться от него и найти тот, который использует PDO.3. @Kermit спасибо тебе 🙂 Я использую старый код, но переписываю его заново.
Ответ №1:
while ($row = mysql_fetch_assoc($result));
циклы до $row
тех пор, пока значение false . Тело цикла представляет собой один пустой оператор, ;
. Вам нужно поместить свой код, который обращается $row
к циклу, а не после него.
Комментарии:
1. Я понятия не имею, что такое тело цикла? Вы даете мне пример правильного синтаксиса?
2. Вы не собираетесь привести мне пример?
3. Я не собираюсь этого делать, нет. Мой ответ очень ясен. Если вы хотите изучить синтаксис циклов while, посмотрите документацию или любой учебник по PHP.
Ответ №2:
$sql=mysql_query("select password from ".$table_name." where username='$username'");
while($row=mysql_fetch_array($sql))
{
$un_pass_s1=$row['password'];
}
echo "value=".$un_pass_s1;