Php 使用变量作为ID并从mysql获取表(已编辑)
我正在使用一个多选选项表单来获得一张场馆表。每个场馆都有一个ID,这是我使用的:Php 使用变量作为ID并从mysql获取表(已编辑),php,mysql,Php,Mysql,我正在使用一个多选选项表单来获得一张场馆表。每个场馆都有一个ID,这是我使用的: <?php require("db_access.php"); if(isset($_POST['select3'])) { $aVenues = $_POST['select3']; if(!isset($aVenues)) { echo("<p>You didn't select any venues!</p>\n"); } else {
<?php
require("db_access.php");
if(isset($_POST['select3']))
{
$aVenues = $_POST['select3'];
if(!isset($aVenues))
{
echo("<p>You didn't select any venues!</p>\n");
}
else
{
$nVenues = count($aVenues);
echo("<p>You selected $nVenues venues: ");
for($i=0; $i < $nVenues; $i++)
{
echo($aVenues[$i] . " ");
}
echo("</p>");
$sql = "SELECT * FROM venues WHERE id IN (" . implode(",",$aVenues) . ")";
$comma_separated = implode(",", $aVenues);
echo $comma_separated;
}
}
?>
$array
用于内爆(“,”,$array)代码>但在我们可以看到的任何其他地方都没有定义。其目的或许是:
implode(",", $aVenues);
更新
根据注释,它不会绘制表,因为您从未实际查询数据库
您构建了SQL语句,但需要执行它并获取结果集
// Make sure you actually have a database connection
$conn = mysql_connect('localhost', $username, $password);
mysql_select_db($database);
$sql = "SELECT * FROM venues WHERE id IN (" . implode(",",$aVenues) . ")";
$comma_separated = implode(",", $array);
echo $comma_separated;
// Execute query and fetch result rowset
$result = mysql_query($sql);
if ($result) {
$rowset = array();
while ($row = mysql_fetch_array($result)) {
$rowset[] = $row;
}
var_dump($rowset);
}
else echo mysql_error();
很酷,错误现在消失了,但是它现在在我原来的位置下显示“2,6”,但没有绘制一个表并将这些数字用作ID:/@pufAmuf,因为您从未执行查询并获取其结果集。请参阅上面的添加。奇怪,为什么您认为我可能会收到密码错误?对于用户的Navel7' @ LoalHOST(使用密码:否)访问拒绝。我在所有其他表上使用这个代码,它可以工作:我可以在页面中间包含这个PHP代码以及这个表单上的HTML的其余部分吗?