MYSQL не работает с Где

Я пытаюсь получить данные из таблицы для отображения в табличной форме.

$myid = 'First_User';
$checkQuery = "SELECT * FROM MyDatabase WHERE id='" . $myid . "';";
echo $checkQuery; // it returns SELECT * FROM MyDatabase WHERE id='First_User';. I run in mySQL console , and it returns the record.
$result = mysql_query($checkQuery);
$row = mysql_fetch_array($result);

Похоже, что выше не может ничего получить. Но говорит "Resource #3", Данные не видны.

$myid = 'First_User';
$checkQuery = "SELECT * FROM MyDatabase";

$result = mysql_query($checkQuery);
$row = mysql_fetch_array($result);

Это работает, возвращая все данные из MyDatabase. У меня есть First_User в MyDatabase.

-2

Решение

Привет MySQL ориентирован на таблицу.

Select <table felds> , < table felds> From <table> Where ....
0

Другие решения

Проблема в том, как вы пытаетесь сделать запрос, в основном вы должны сделать:

SELECT * FROM your table_name WHERE field_name='Field_value';

База данных обычно определяется драйвером, который вы используете для подключения к базе данных, в этом случае устаревшим

MySQL-подключения
Но, как уже упоминалось, вы должны использовать PDO новее и безопаснее 🙂

0

Просто попробуйте это ..

$checkQuery = "SELECT * FROM MyDatabase WHERE id='$myid'";
0

Попробуй это —

$myid = 'First_User';
$checkQuery = "SELECT * FROM MyDatabase WHERE id='$myid'";
$result = mysql_query($checkQuery);
$row = mysql_fetch_array($result);
while($row = mysql_fetch_array($result)) {
echo '<td><input type="text" name="ID" value='.$row[0].'></td>';
}

Замечания : Избегать использования mysql_* функции. Используйте вместо mysqli_* функции.

0

Во-первых, не используйте mysql_connect, используйте MySQLi или PDO

Я предпочитаю PDO.

Как подключиться к PDO:

$db_connection = new PDO('mysql:host='. DB_HOST .';dbname='. DB_NAME . ';charset=utf8', DB_USER, DB_PASS);

Теперь вы хотите написать свой запрос и получить

$query = $db_connection->prepare("SELECT * FROM `MyDatabase` WHERE `id` = :id");
$query->execute(array(":id" => $myid));
$result = $query->fetchAll();

foreach($result as $user) {
echo $user['id'];
echo "<tr>";
echo "<td><input type=\"text\" name=\"ID\" value=\"" echo $row['id'] "\" /></td>";
echo "</tr>"}

Я надеюсь, что ничего не пропустил, но, пожалуйста, прочитайте документацию PDO: http://php.net/manual/en/book.pdo.php (или mysqli: http://php.net/manual/en/book.mysqli.php )

И если вы используете данные поста где-то в своем запросе, пожалуйста, смотрите другие посты о том, как предотвратить внедрение MySQL: Как я могу предотвратить внедрение SQL в PHP?

0

Используй это. И дополнительный Добавить LIMIT потому что ваш запрос вернет только результат. Это дополнительный потенциал.

$id = $_SESSION['user_id']; // or something else.

$checkQuery = "SELECT * FROM MyDatabase WHERE id='$id' LIMIT 1";

$results = mysqli_query($checkQuery);

if ($result) $user=mysql_fetch_assoc($result);

// use now.

echo $user['user_name'];
echo $user['id'];
0
По вопросам рекламы [email protected]