Php 无法将mysql查询获取到wok
我试图查询表bets,但它似乎没有返回任何内容,即使其中有符合条件的数据 我不确定我是否遗漏了一些显而易见的东西 这是我的密码Php 无法将mysql查询获取到wok,php,mysql,database,Php,Mysql,Database,我试图查询表bets,但它似乎没有返回任何内容,即使其中有符合条件的数据 我不确定我是否遗漏了一些显而易见的东西 这是我的密码 <?php //Begin session session_start(); //Get pool var if(isset($_GET['pool'])) { $_SESSION['pool'] = $_GET['pool']; $pool = $_SESSION['pool']
<?php
//Begin session
session_start();
//Get pool var
if(isset($_GET['pool'])) {
$_SESSION['pool'] = $_GET['pool'];
$pool = $_SESSION['pool'];
}
//Include database connection details
require_once('config.php');
//Array to store validation errors
$errmsg_arr = array();
//Validation error flag
$errflag = false;
//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
//Assign memberid
$memberid = $_SESSION['SESS_MEMBER_ID'];
echo "POOLNAME $pool<br>";
echo "MEMBERID $memberid<br>";
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}
$result = mysql_query($link,"SELECT * FROM bets WHERE member_id='$memberid'");
echo "RESULT $result";
echo "SQL executed<br>";
echo "Executing loop<br>";
while($row = mysql_fetch_array($result))
{
echo "test<br>";
$matchid = $row['match_id'];
$betAmount = $row['bet_amount'];
$teamname = $row['team_name'];
echo "$betAmount credits placed on team: $teamname for match: $matchid";
}
?>
您正在混合使用mysql和mysqli命令。如果可能,您需要使用其中一种,最好是mysqli
$link=mysql\u connect(DB\u主机、DB\u用户、DB\u密码)代码>
应该是:
$link=mysqli\u connect(DB\u主机、DB\u用户、DB\u密码、DB\u数据库)代码>
在mysqli_fetch_array()
中,第一个参数是mysqli result对象(您已经正确设置了该对象),它需要为它将返回的数组提供第二个参数
MYSQLI\u两者都将允许您通过数字索引或列名引用数组
MYSQLI_ASSOC
允许引用列名,但不允许引用数字索引,MYSQLI_NUM
允许引用数字索引
因此,while($row=mysqli\u fetch\u数组($result,mysqli\u两者))
将是您想要的
另外,请参考Andy Lester关于SQL注入的评论,对输入进行清理是非常重要的。u正在混合使用mysql和mysqli\u我已将两个mysqli\u命令更改为mysqli\u。但是我仍然没有任何运气。出于上帝的爱,这是你,而不是u
。尝试更改mysql\u查询($link,“从成员id=“$memberid'”的投注中选择*”
到mysql\u查询($link,“从成员id=“$memberid'”的投注中选择*)或死亡(mysql\u error())
它会随着任何有用的信息而消亡吗?通过使用外部变量构建SQL语句,您将面临SQL注入攻击。此外,任何带有单引号的输入数据,如“O'Malley”的名称,将放大您的SQL查询。请了解如何使用参数化查询(最好是PDO模块)来保护您的web应用程序。有许多详细的例子。您还可以查看其他选项和危险的解释。MYSQL\u和MYSQLI\u都是默认值。