0
我的包含文件包含了我所有的连接信息,我使用它来将其他页面连接到我的数据库。PHP在sql查询中使用变量
我已经注释掉了我的工作回声线,这显示了我上一页的结果,这些结果在这一点上都很好。我遇到的问题是让我的查询结果在整个页面上显示,同时使用前一页的变量作为我的SQL语句的where子句。当使用这个where子句时,结果只会带回1个结果。有没有人有什么建议?
我试过在查询的不同部分添加和删除'和“,并且我没有任何运气。如果有必要,我可以编辑并添加在此之前显示的页面,但是目前该信息正在通过与predictions.php页面上的注释代码行。
下面是我includes.php
<?php
$dbaddress="localhost";
$dbuser="testuser";
$dbpass="testpass";
$dbname="testdb";
$dbtable="testtable";
$con=mysqli_connect($dbaddress,$dbuser,$dbpass,$dbname)
?>
下面是我predictions.php
<?
include 'includes.php';
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$elousera=$_POST['elousera'];
$elouserb=$_POST['elouserb'];
#echo 'You selected sequence# '.$elousera.' vs sequence# '.$elouserb;
$sqla = "SELECT mcacctname FROM $dbtable WHERE Sequence = '$elousera'";
$resulta = mysqli_query($con,$sqla);
$playera = mysqli_free_result($resulta);
$sqlb = "SELECT mcacctname FROM $dbtable WHERE Sequence = '$elouserb'";
$resultb = mysqli_query($con,$sqlb);
$playerb = mysqli_free_result($resultb);
echo 'You selected '.$playera.' vs '.$playerb;
?>
您从未从结果集中提取任何结果。 '$ playera,$ playerb'不包含你在这里使用它们的内容。他们是'mysqli_result'资源对象。您需要调用'$ row_a = mysqli_fetch_assoc($ playera);'从SELECT语句中获取值。 –
这将解决眼前的问题。更广泛的是SQL注入漏洞。既然你在使用MySQLi,你应该用准备好的语句来做。 http://php.net/manual/en/mysqli.prepare.php –
另外,有一个集中的包含文件,当它不做错误检查后建立连接有什么意义 - 你仍然在创建冗余代码的方式。 –