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

时间:2016-03-19 13:49:49

标签: php sql database web

我试图从数据库中获取单个值并将其存储在变量Here is the structure of my Database

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));
{
    echo $row['course'] . "<p>";    
}

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

5 个答案:

答案 0 :(得分:0)

也许您应该尝试查询:

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

作为附注,您应该停止使用mysql_函数(使用mysqli_或类似的界面)。并学习在查询中使用参数。

答案 1 :(得分:0)

尝试此查询:

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

并将您的echo语句更改为:

break-all

这应输出您的课程列表,如下所示 - &gt; 'java,c#,php,maths'然后你可以把它放在一个变量中。

答案 2 :(得分:0)

为什么不使用这样的php foreach语句:

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

更好的是,您可以使用PHP Implode或Explode方法单独显示它们。

答案 3 :(得分:0)

我认为你必须超越WHERE的匹配值:

试试这个:

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 );

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

答案 4 :(得分:0)

使用数组分别保存所有课程。然后将课程名称保存在数组的单独索引中,如$ array [0] =&#34; math&#34;和$ array [1] =&#34;英语&#34;然后使用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];
 }