Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用php从数据库中获取单个值_Php_Sql_Database_Web - Fatal编程技术网

如何用php从数据库中获取单个值

如何用php从数据库中获取单个值,php,sql,database,web,Php,Sql,Database,Web,我试图从数据库中获取一个值并将其存储在变量中 当我使用上述代码时,它会根据数据库中的我的名字打印所有课程,但我希望选择一个特定的课程名称,就像根据我的名字有5门课程一样,我只希望将所有课程分别保存在单独的变量中。也许您应该尝试以下查询: SELECT GROUP_CONCAT(course) FROM names WHERE name = noshair; 作为旁注,您应该停止使用mysql函数,使用mysqli或类似的接口。并学习在查询中使用参数。也许您应该尝试以下查询: SELECT GR

我试图从数据库中获取一个值并将其存储在变量中


当我使用上述代码时,它会根据数据库中的我的名字打印所有课程,但我希望选择一个特定的课程名称,就像根据我的名字有5门课程一样,我只希望将所有课程分别保存在单独的变量中。

也许您应该尝试以下查询:

SELECT GROUP_CONCAT(course)
FROM names
WHERE name = noshair;

作为旁注,您应该停止使用mysql函数,使用mysqli或类似的接口。并学习在查询中使用参数。

也许您应该尝试以下查询:

SELECT GROUP_CONCAT(course)
FROM names
WHERE name = noshair;
作为旁注,您应该停止使用mysql函数,使用mysqli或类似的接口。并学习在查询中使用参数。

尝试一下此查询:

SELECT DISTINCT name, GROUP_CONCAT(DISTINCT course ORDER BY course) AS courses;
FROM names
WHERE name = noshair
并将echo语句更改为:

echo $row['courses'] . "<p>";
这将输出一个课程列表,如->“java、c、php、数学”,然后可以将其放入变量中。

尝试一下此查询:

SELECT DISTINCT name, GROUP_CONCAT(DISTINCT course ORDER BY course) AS courses;
FROM names
WHERE name = noshair
并将echo语句更改为:

echo $row['courses'] . "<p>";

这将输出一个课程列表,如->“java、c、php、数学”,然后可以将其放入变量中。

为什么不使用php foreach语句,如下所示:

foreach ($row['course'] as $key => $value)
 {
    echo $value;
}

更好的是,您可以使用PHP内爆或分解方法分别显示它们。

为什么不使用PHP foreach语句,如下所示:

foreach ($row['course'] as $key => $value)
 {
    echo $value;
}

更好的是,您可以使用PHP内爆或分解方法来分别显示它们。

我认为您必须将匹配值提取到以下位置:

试试这个:

mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$result = mysql_query("SELECT * FROM `names` WHERE `name` = 'noshair'");
while($row = mysql_fetch_array($result));
{
    $courses[] = $row['course'];    
}

var_dump( $courses );

代码将所有内容保存到一个数组中。

我认为您必须将匹配值提取到以下位置:

试试这个:

mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$result = mysql_query("SELECT * FROM `names` WHERE `name` = 'noshair'");
while($row = mysql_fetch_array($result));
{
    $courses[] = $row['course'];    
}

var_dump( $courses );

代码将所有内容保存到一个数组中。

使用数组分别保存所有课程。然后课程名称将保存在数组的单独索引中,如$Array[0]=math和$Array[1]=英语。然后使用for循环将每个值保存在单独的变量中,方法是使用数组中的值总数设置循环条件。然后课程将分别保存在不同的变量中,如$sub1、$sub2等。请尝试此代码

$con=mysql_connect("localhost","root","") 

if(!$con)
{
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('test', $con);
if (!$db_selected) {
die ('Can\'t use test : ' . mysql_error());
}
   $result = mysql_query('SELECT * FROM names WHERE name = noshair');


   while($row = mysql_fetch_array($result));
  {
  $value=$row['course'] . "<p>"; 
  echo $value;
  $array[]=$value;
  }

 $total=count($array);
 for($i=0;$i<$total;$i++)
 {
$n=$i+1;
${'sub'.$n} = $array[$i];
 }

使用数组单独保存所有课程。然后课程名称将保存在数组的单独索引中,如$array[0]=math和$array[1]=英语。然后使用for循环将每个值保存在单独的变量中,方法是使用数组中的值总数设置循环条件。然后课程将分别保存在不同的变量中,如$sub1、$sub2等。请尝试此代码

$con=mysql_connect("localhost","root","") 

if(!$con)
{
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('test', $con);
if (!$db_selected) {
die ('Can\'t use test : ' . mysql_error());
}
   $result = mysql_query('SELECT * FROM names WHERE name = noshair');


   while($row = mysql_fetch_array($result));
  {
  $value=$row['course'] . "<p>"; 
  echo $value;
  $array[]=$value;
  }

 $total=count($array);
 for($i=0;$i<$total;$i++)
 {
$n=$i+1;
${'sub'.$n} = $array[$i];
 }

MySQL已折旧,因此请使用MySQLi而不是MySQL。MySQL已折旧,因此请使用MySQLi而不是MySQL。