需要一些有关使用 explode 函数从 Mysql 获取数据的帮助
Need Some Help Regarding Fetching Data from Mysql using explode function
在下面的脚本中,我想使用 explode 函数以及 explode 函数中的变量从 mysql 获取数据。
这是我想要的
<?php
include ('config.php');
$track = "1,2,3";
$i = 1
$trackcount = explode(",",$track);
$sql = "SELECT * FROM tracks WHERE id='$trackcount['$i']'";
$retval = mysql_query($sql, $conn);
while ($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "{$row['track_name']}";
}
mysql_free_result($retval);
?>
这是代码
$sql = "SELECT * FROM tracks WHERE id='$trackcount[$i]'";
我希望 sql 从曲目 table 中获取数据,其中 id = $trackcount[$i]
$trackcount[$i]
mysql 的任何值都应该获取,但它显示一个空白屏幕。
如果我把这个
$sql = "SELECT * FROM tracks WHERE id='$trackcount[1]'";
完美运行
通常您会希望对此类查询使用 IN
运算符,因此对您来说这将是:-
$sql="SELECT * FROM `tracks` WHERE `id` in (".$track.");";
或者,如果 $id 在数组中,
$sql="SELECT * FROM `tracks` WHERE `id` in (".implode( ',', $array ) .");";
将您的 $trackcount[$i] 保存在一个变量中,然后将其传递给下面给出的查询
<?php
include ('config.php');
$track = "1,2,3";
$i = 1;
$trackcount = explode(",",$track);
$id=$trackcount[$i];
$sql = "SELECT * FROM tracks WHERE id='$id'";
$retval = mysql_query($sql, $conn);
while ($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "{$row['track_name']}";
}
mysql_free_result($retval);
?>
还有一件事检查你以前的代码与你的查询的回显,看看什么是正确的。
echo $sql = "SELECT * FROM tracks WHERE id='$trackcount['$i']'";//like this
问题出在您的查询上
$sql = "SELECT * FROM tracks WHERE id='$trackcount['$i']'";//change
到
$sql = "SELECT * FROM tracks WHERE id='$trackcount[$i]'";
在下面的脚本中,我想使用 explode 函数以及 explode 函数中的变量从 mysql 获取数据。 这是我想要的
<?php
include ('config.php');
$track = "1,2,3";
$i = 1
$trackcount = explode(",",$track);
$sql = "SELECT * FROM tracks WHERE id='$trackcount['$i']'";
$retval = mysql_query($sql, $conn);
while ($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "{$row['track_name']}";
}
mysql_free_result($retval);
?>
这是代码
$sql = "SELECT * FROM tracks WHERE id='$trackcount[$i]'";
我希望 sql 从曲目 table 中获取数据,其中 id = $trackcount[$i]
$trackcount[$i]
mysql 的任何值都应该获取,但它显示一个空白屏幕。
如果我把这个
$sql = "SELECT * FROM tracks WHERE id='$trackcount[1]'";
完美运行
通常您会希望对此类查询使用 IN
运算符,因此对您来说这将是:-
$sql="SELECT * FROM `tracks` WHERE `id` in (".$track.");";
或者,如果 $id 在数组中,
$sql="SELECT * FROM `tracks` WHERE `id` in (".implode( ',', $array ) .");";
将您的 $trackcount[$i] 保存在一个变量中,然后将其传递给下面给出的查询
<?php
include ('config.php');
$track = "1,2,3";
$i = 1;
$trackcount = explode(",",$track);
$id=$trackcount[$i];
$sql = "SELECT * FROM tracks WHERE id='$id'";
$retval = mysql_query($sql, $conn);
while ($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "{$row['track_name']}";
}
mysql_free_result($retval);
?>
还有一件事检查你以前的代码与你的查询的回显,看看什么是正确的。
echo $sql = "SELECT * FROM tracks WHERE id='$trackcount['$i']'";//like this
问题出在您的查询上
$sql = "SELECT * FROM tracks WHERE id='$trackcount['$i']'";//change
到
$sql = "SELECT * FROM tracks WHERE id='$trackcount[$i]'";