Результат запроса mysql в переменной php

Есть ли способ сохранить результат mysql в переменной php? благодаря

$query = "SELECT username,userid FROM user WHERE username = 'admin' "; $result=$conn->query($query); 

то я хочу напечатать выбранный userid из запроса.

Есть конечно. Проверьте mysql_query и mysql_fetch_row если вы используете MySQL.
Пример из руководства PHP :

 <?php $result = mysql_query("SELECT id,email FROM people WHERE id = '42'"); if (!$result) { echo 'Could not run query: ' . mysql_error(); exit; } $row = mysql_fetch_row($result); echo $row[0]; // 42 echo $row[1]; // the email value ?> 

Есть несколько функций mysql, которые вам нужно изучить.

  • mysql_query («строка запроса здесь»): возвращает ресурс
  • mysql_fetch_array (ресурс, полученный выше): выбирает строку и возвращает как массив с числовыми и ассоциативными (с именем столбца как ключевые) индексы. Как правило, вам нужно выполнить итерацию результатов до того, как выражение примет значение false . Как показано ниже:

     while ($row = mysql_fetch_array($query)){ print_r $row; } 

    Обратитесь к руководству, ссылки на который приведены ниже, у них есть больше опций для указания формата, в котором запрашивается массив. Например, вы можете использовать mysql_fetch_assoc(..) чтобы получить строку в ассоциативном массиве.

Ссылки:

В твоем случае,

 $query = "SELECT username,userid FROM user WHERE username = 'admin' "; $result=mysql_query($query); if (!$result){ die("BAD!"); } if (mysql_num_rows($result)==1){ $row = mysql_fetch_array($result); echo "user Id: " . $row['userid']; } else{ echo "not found!"; } 
 $query="SELECT * FROM contacts"; $result=mysql_query($query); 

Я лично использую подготовленные заявления.

Почему это важно?

Ну, это важно из-за безопасности. Очень просто сделать SQL-инъекцию для тех, кто использует переменные в запросе.

Вместо использования этого кода:

 $query = "SELECT username,userid FROM user WHERE username = 'admin' "; $result=$conn->query($query); 

Вы должны использовать это

 $stmt = $this->db->query("SELECT * FROM users WHERE username = ? AND password = ?"); $stmt->bind_param("ss", $username, $password); //You need the variables to do something as well. $stmt->execute(); 

Подробнее о подготовленных отчетах читайте далее:

http://php.net/manual/en/mysqli.quickstart.prepared-statements.php MySQLI

http://php.net/manual/en/pdo.prepared-statements.php PDO

 $query = "SELECT username, userid FROM user WHERE username = 'admin' "; $result = $conn->query($query); if (!$result) { echo 'Could not run query: ' . mysql_error(); exit; } $arrayResult = mysql_fetch_array($result); //Now you can access $arrayResult like this $arrayResult['userid']; // output will be userid which will be in database $arrayResult['username']; // output will be admin //Note- userid and username will be column name of user table.