我有这样的代码:PHP 7 | mysqli的查询并不只读取取一个条目
$conn = mysqli_connect($sql_servername, $sql_username, $sql_password, $sql_dbname);
$bets = mysqli_fetch_array(mysqli_query($conn, "SELECT `id` FROM `betting` WHERE `open`=1"), MYSQLI_NUM);
foreach($bets as $row){
$bet = mysqli_query($conn, "SELECT `id` FROM `betting` WHERE `id`=$row");
$hostu = $bet[0];
$bet_amount = $bet[4];
echo "
<br>
<div style=\"border:1px solid grey;\">
<span>Bet: $bet_amount Rubies, Opponent (host): $hostu</span><p>id $row</p>
<button style=\"width: 10%;\" onclick=\"window.location = 'bet.php?id=" . $row ."'\">Bet</button>
</div>
";
}
此代码应该选择所有的ID,并给他们还给我一个数组,但只取一个ID。当我测试 “选择id
从betting
其中id
= $行” 在phpMyadmin,它返回正是我想要的,但由于某种原因不在我的PHP代码。它回声一个ID,当我有4是开放= 1。
你只调用了'fetch_array'一次,这就是为什么 – Ghost
请正确格式化你的代码;这一切都搞砸了。 – Marcus
**警告**:使用'mysqli'时,应该使用参数化查询和['bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)来添加用户数据到您的查询。 **不要**使用字符串插值或连接来完成此操作,因为您创建了严重的[SQL注入漏洞](http://bobby-tables.com/)。 **绝不**将'$ _POST'数据直接放入查询中。 – tadman