我已经确认我的所有代码都可以正常工作,除了获取数组。它返回只有 1 行,不知何故有 32 列。但是,我的数据库只有 16 列。此外,当尝试从数组中打印任何内容时,什么也没有。非常感谢任何帮助!
我的查询:
SELECT * FROM information WHERE username='kmccmk9'
//Get Acquired Data
$useradmin = $_GET['useradmin'];
$userpass = $_GET['userpass'];
$db = $_GET['db'];
$username = $_GET['username'];
$password = $_GET['password'];
$sql = $_GET['sql'];
$link = mysql_connect("bondsolutionsnjcom.fatcowmysql.com", "aiforfrg", "********") or die('Could not connect: ' . mysql_error());
mysql_select_db($db) or die(mysql_error());
$temp = "$"."username";
$sql = str_replace($temp,"'".$username."'",$sql);
$temp = "$"."password";
$sql = str_replace($temp,"'".$password."'",$sql);
echo $sql;
$result_id = mysql_query($sql) or die("DATABASE ERROR!".mysql_error());
echo count($result_id);
$total = mysql_num_rows($result_id);
if($total == 1) {
$info = mysql_fetch_array($result_id);
for ($i=0;$i<count($info);$i++) {
echo $info[i]." ";
}
} else {
echo "something messed up";
}
mysql_close();
改用 mysqli,我的代码如下所示:
$mysqli = new mysqli("bondsolutionsnjcom.fatcowmysql.com", $useradmin, $userpass, $db);
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
$res = $mysqli->query($sql);
$res->data_seek(0);
while ($row = $res->fetch_assoc()) {
echo " id = " . $row['id'] . "\n";
}
但我收到以下错误,我不知道为什么:
Fatal error: Call to a member function data_seek() on a non-object in /hermes/waloraweb097/b516/moo.bondsolutionsnjcom/frg/scripts/executequery.php on line 15
最佳答案
试试这个:
$useradmin = $_GET['useradmin'];
$userpass = $_GET['userpass'];
$db = $_GET['db'];
$username = $_GET['username'];
$password = $_GET['password'];
$sql = $_GET['sql'];
$link = mysql_connect("bondsolutionsnjcom.fatcowmysql.com", "aiforfrg", "********") or die('Could not connect: ' . mysql_error());
mysql_select_db($db) or die(mysql_error());
$temp = "$"."username";
$sql = str_replace($temp,"'".$username."'",$sql);
$temp = "$"."password";
$sql = str_replace($temp,"'".$password."'",$sql);
echo $sql;
$result_id = mysql_query($sql) or die("DATABASE ERROR!".mysql_error());
echo count($result_id);
$total = mysql_num_rows($result_id);
if ($total > 0) {
$i=0;
while($info = mysql_fetch_array($result_id))
{
echo $info[$i]." ";
$i++;
}
} else {
echo "something messed up";
}
mysql_close();
关于PHP -> MySQL 不返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20258405/