用php查询数据库
我试图使用php查询我的数据库,然后显示查询结果。对于本例,我只需要MySQL数据库中的元素数 我的代码是:用php查询数据库,php,mysql,sql,Php,Mysql,Sql,我试图使用php查询我的数据库,然后显示查询结果。对于本例,我只需要MySQL数据库中的元素数 我的代码是: <?php print("This is just a test"); print("This is another test"); // Create connection $con=mysqli_connect("mysql.netsons.com","****","****","****"); // Check connection
<?php
print("This is just a test");
print("This is another test");
// Create connection
$con=mysqli_connect("mysql.netsons.com","****","****","****");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
print("A third test");
$result = mysqli_query($con, "SELECT COUNT(*) FROM MyGames");
echo $result;
echo mysqli_fetch_array($result);
print("A forth test");
mysqli_close($con);
?>
我做错了什么?
mysql\u fetch\u array
fetches。。。数组
$row = mysqli_fetch_array($result);
echo $row["COUNT(*)"];
我认为最好也将该列别名为:
SELECT COUNT(*) AS count FROM MyGames
...
echo $row['count'];
我建议使用一种不同的查询方法,这种方法更安全(据我所知,不需要担心SQL注入),而且可以节省大量的时间和空间 首先,您需要创建一个mysqli对象
$stateConnect = new mysqli("localhost", "root", "PASS", "DBTable");
这与mysqli\u connect
和mysqli\u select\u db
然后要定义SQL查询
$sql = "SELECT `userVotes` FROM `users` WHERE `userEmail`=?";
接下来,您要创建一个名为语句的变量,并将SQL“附加到它”
请注意,在我的SQL中,我没有直接输入userEmail所需的值,而是输入了一个“?”。这是一个变量,我们将在后面定义它(但是它始终是一个“?”
要定义这个变量,我们需要使用
$statement->bind_param('s', $SESSION['email']);
这将$SESSION['email']
绑定到第一个问号,s
表示第一个问号将是一个字符串。假设我们必须更改:
$sql = "SELECT `userVotes` FROM `users` WHERE `userEmail`=? AND `userName`=?";
然后,我们将使用:
$statement->bind_param('ss', $SESSION['email'], "USERNAME");
每个s表示一个问号,其后的每个值表示一个问号。
现在我们必须使用执行查询
$statement->execute();
如果我们希望返回一个结果,那么我们必须使用
$statement->bind_result($userVotesText);
要将结果绑定到一个变量,如果我希望得到一列结果,我需要在其中放入第二个变量。
现在设置我们需要使用的变量
if($statement->fetch()){
$userVotesResult = userVotesText;
}
此方法比其他查询数据库的方法好得多,称为
echo$result;
不起作用,因为如果查询成功,$result
是一个对象,如果查询不成功,则布尔值false
。在调用mysqli\u query()
后发布此命令的输出:echo mysqli\u error($con)
如果你想知道一个可能是数组或布尔值的变量的信息,echo将不起作用-试试var_dump。@EdCottrell在第四个print get display中做了更改。好的,这一个解决了它:$row=mysqli_fetch_array($result);echo$row[“COUNT(*)”;但我不确定我是否完全理解如何做。那么,究竟包含$row?
$statement->bind_result($userVotesText);
if($statement->fetch()){
$userVotesResult = userVotesText;
}