简体   繁体   English

仅提取数据库中的第一条记录

[英]Only Pulling First Record In Database

When I run this in PHP, it only pulls the first record in the table and then displays it. 当我在PHP中运行它时,它只会提取表中的第一条记录,然后显示它。 I need this to pull the data for the user that is logged in out of the table. 我需要它来为从表中登录的用户提取数据。 Hopefully you know what I mean: 希望你明白我的意思:

<?php
$getall = mysql_query("SELECT name,username,email FROM users");
$row = mysql_fetch_assoc($getall);

$fullnameDB         = $row['name'];
$emailDB            = $row['email'];
$usernameDB         = $row['username'];
?>

With mysql_fetch_assoc($getall) you are fetching just one row at a time. 使用mysql_fetch_assoc($ getall),您一次只获取一行。 That's why you should use "while" to get all! 这就是为什么您应该使用“ while”来获得全部!

$user_id = 1;
$getall = mysql_query("SELECT name,username,email FROM users WHERE user_id = $user_id");
$arr = array();
while ( $result = mysql_fetch_assoc($getall) ) {
  $arr[] = $result;
}

$date = $arr[0]["date"]; //first row date
$name = $arr[0]["name"]; //first row name
$comments = $arr[0]["comments"]; //first row comments

$arr is an array holding each row's data. $ arr是一个保存每一行数据的数组。

更改查询:

SELECT name, username, email FROM users WHERE username = '{YourUsernameHere}' LIMIT 1

// By user id //通过用户ID

<?php
$user_id = 1;
$getall = mysql_query("SELECT name,username,email FROM users WHERE user_id = $user_id");
$row = mysql_fetch_assoc($getall);

$fullnameDB         = $row['name'];
$emailDB            = $row['email'];
$usernameDB         = $row['username'];
?>

// By email and password //通过电子邮件和密码

<?php
$email = $_POST["email"];
$password = $_POST["password"];
$getall = mysql_query("SELECT name,username,email FROM users WHERE email = '$email' AND password = '$password'");
$row = mysql_fetch_assoc($getall);

$fullnameDB         = $row['name'];
$emailDB            = $row['email'];
$usernameDB         = $row['username'];
?>

I would do it via (codeigniter model has the query): 我可以通过(codeigniter模型具有查询)来做到这一点:

 $this->load->model("ModelName");
 $query = $this->ModelName->functionNameInModel(params);
 $result = $query->result();
 if ($query->num_rows() > 0)
 {
      $row = $query->row(); 
      $var = $row->table_column;
      echo("var = " . $var);
 } else {
// No records returned! HOLY ****! HUSTON WE GOT A PROBLEM!
    // Handle it with some code here...     
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从 MySQL 数据库中提取数据并在列中仅提取每个值的 1 个值,然后首先显示最新的 - Pulling data from MySQL database and pulling only 1 value of each in a column and then show latest first 从具有[php]代码的特定[mysql]数据库表中提取数据列表,但仅是第一个 <option value=""></option> 实际上是在提取数据 - Datalist pulling from one specific [mysql] database table with [php] code, but only first <option></option> is actually pulling data 为什么我的w3schools ajax数据库教程1对1拷贝只拉第一组数据? - Why is my 1 to 1 copy of the w3schools ajax database tutorial only pulling the first set of data? 是否可以仅将“选项值”与数据库记录的第一个数字进行比较? - Possibility of comparing an “option value” with only the first number of a database record? Javascript 仅适用于 PHP 从数据库中获取的第一条记录 - Javascript only applying to the first record got by PHP from database foreach循环仅适用于php中数据库的第一条记录 - foreach loop working only for first record of database in php Laravel Eloquent 仅在数据库中的第一条记录上返回数组(`where` 方法) - Laravel Eloquent returns Array only on first record in database (`where` method) 仅使用前几个数字提取URL - Pulling a URL by only using the first few digits 从PHP的一堆Switch语句中提取第一条记录 - Pulling the first record out of a bunch of Switch statements in PHP MySQL 一对多,只从多表中提取选定的记录 - MySQL One to many, pulling only selected record from many table
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM