Php 将查询结果保存到会话数组时显示的数据不正确
我设置了以下php页面来查询数据库并将结果保存到会话变量数组中:Php 将查询结果保存到会话数组时显示的数据不正确,php,html,mysql,Php,Html,Mysql,我设置了以下php页面来查询数据库并将结果保存到会话变量数组中: <?php include 'newCustomer.php'; connect('final'); $query = $_POST['searchDB']; $query = htmlspecialchars($query); // stop HTML characters $query = mysql_real_escape_string($query); //stop SQL inject
<?php
include 'newCustomer.php';
connect('final');
$query = $_POST['searchDB'];
$query = htmlspecialchars($query); // stop HTML characters
$query = mysql_real_escape_string($query); //stop SQL injection
$data = mysql_query("SELECT * FROM customer WHERE First_Name LIKE '$query'") ;//query the DB with search field in colleumn selected//
if($data === FALSE) {
$error = 'Query error:'.mysql_error();
echo $error;
}
else
{
$test = array();
$colNames = array();
while($results = mysql_fetch_assoc($data)){// puts data from database into array, loops until no more
$test[] = $results;
}
$anymatches=mysql_num_rows($data); //checks if the querys returned any results
if ($anymatches != 0) {
$_SESSION['names']=$test;
$colNames = array_keys(reset($test));
}
if ($anymatches == 0)
{
echo "Sorry, but we can not find an entry to match your query<br><br>";
}
}
?>
在输出循环中,尝试用“用户名”替换希望显示的字段名称
foreach($array1 as $name){
echo'<option value="'.$name["username"].'">'.$name["username"].'</option>';
}
foreach($array1作为$name){
回显'.$name[“username”].';
}
问题在于,您正在将每个$test
项设置为完整的$results
数组,而不仅仅是结果数组中的预期列值
你的问题是这条线
$test[] = $results;
换成
$test[] = $results["First_Name"];
然后一切都应该按计划进行。您还没有开始从主页顶部开始的会话,包括newCustomer。
$test[] = $results["First_Name"];