我试图从数据库中获取单个值并将其存储在变量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个课程,我只想要分别保存所有在单独的变量中。
答案 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];
}