php - 数组正确打印数据但查询只显示一半

标签 php mysql arrays

我在这里遇到了一个非常非常奇怪的问题。我在 php 中的数组中有数据。我想要数组必须查询数据库并取回结果的每个项目。它只向我显示具体结果,而不是所有内容。

我的代码:

foreach($my as $k=> $v){
    //echo "Key: ". $k . " Value: " . $v . "<br/>";
    $sql2 = "SELECT column10 FROM `table` WHERE column1 = '$v' ";
    $res2 = mysql_command($sql2);
    echo $sql2 . "<br/>";
    $rowA = mysql_fetch_assoc($res2);
    //echo "<strong>Alternative: </strong>" . $v. "<strong> Auto Alternative: </strong>" . $rowA['column10'] . "<br/>";

}
echo '</table>';
echo "<pre>";
print_r($my);
echo "</pre>";

在浏览器中,如果我回显查询和 Key: 的结果是这样的:

SELECT column10 FROM `table` WHERE column1 = 'Villetta La Canoa' 
SELECT column10 FROM `table` WHERE column1 = ' Casa Immerso nel Verde' 
SELECT column10 FROM `table` WHERE column1 = ' La Rosetta' 
SELECT column10 FROM `table` WHERE column1 = 'Agriturismo La Nonna' 
SELECT column10 FROM `table` WHERE column1 = ' Villetta Cassiopeia' 
SELECT column10 FROM `table` WHERE column1 = ' La Rosetta' 
SELECT column10 FROM `table` WHERE column1 = 'Ca Gianca 2' 
SELECT column10 FROM `table` WHERE column1 = ' Villetta Teresa' 
SELECT column10 FROM `table` WHERE column1 = ' Appartamento Pinamare' 
SELECT column10 FROM `table` WHERE column1 = ' Casa del Principe' 
SELECT column10 FROM `table` WHERE column1 = 'Ca Gianca 2' 
SELECT column10 FROM `table` WHERE column1 = ' Villetta Teresa' 
SELECT column10 FROM `table` WHERE column1 = ' Appartamento Pinamare' 
SELECT column10 FROM `table` WHERE column1 = ' Casa del Principe' 
SELECT column10 FROM `table` WHERE column1 = 'Ca Gianca 2' 
SELECT column10 FROM `table` WHERE column1 = ' Villetta Teresa' 
SELECT column10 FROM `table` WHERE column1 = ' Appartamento Pinamare' 
SELECT column10 FROM `table` WHERE column1 = ' Casa del Principe' 

关键,值(value)是:

Key: 0 Value: Villetta La Canoa
Key: 1 Value: Casa Immerso nel Verde
Key: 2 Value: La Rosetta
Key: 3 Value: Agriturismo La Nonna
Key: 4 Value: Villetta Cassiopeia
Key: 5 Value: La Rosetta
Key: 6 Value: Ca Gianca 2
Key: 7 Value: Villetta Teresa
Key: 8 Value: Appartamento Pinamare
Key: 9 Value: Casa del Principe
Key: 10 Value: Ca Gianca 2
Key: 11 Value: Villetta Teresa
Key: 12 Value: Appartamento Pinamare
Key: 13 Value: Casa del Principe
Key: 14 Value: Ca Gianca 2
Key: 15 Value: Villetta Teresa
Key: 16 Value: Appartamento Pinamare
Key: 17 Value: Casa del Principe

我得到的是:

Alternative: Villetta La Canoa Auto Alternative: Villa Ronchi, Casa Ciserai, Villino Torretta, Casa Bianca
Alternative: Casa Immerso nel Verde Auto Alternative: 
Alternative: La Rosetta Auto Alternative: 
Alternative: Agriturismo La Nonna Auto Alternative: Agriturismo Antico Granaio, Casa Ciserai, Villa Ronchi, La Rosetta
Alternative: Villetta Cassiopeia Auto Alternative: 
Alternative: La Rosetta Auto Alternative: 
Alternative: Ca Gianca 2 Auto Alternative: Ca Gianca 1, La Vigna 2, Villetta Teresa
Alternative: Villetta Teresa Auto Alternative: 
Alternative: Appartamento Pinamare Auto Alternative: 
Alternative: Casa del Principe Auto Alternative: 
Alternative: Ca Gianca 2 Auto Alternative: Ca Gianca 1, La Vigna 2, Villetta Teresa
Alternative: Villetta Teresa Auto Alternative: 
Alternative: Appartamento Pinamare Auto Alternative: 
Alternative: Casa del Principe Auto Alternative: 
Alternative: Ca Gianca 2 Auto Alternative: Ca Gianca 1, La Vigna 2, Villetta Teresa
Alternative: Villetta Teresa Auto Alternative: 
Alternative: Appartamento Pinamare Auto Alternative: 
Alternative: Casa del Principe Auto Alternative: 

谁能解释一下哪里出了问题?

最佳答案

从我的角度来看,您可能需要修剪 $v 以确保字符串的开头和结尾没有空格。

foreach($my as $k=> $v){
   $v = trim($v);

此外,您应该尝试使用“LIKE”运算符而不是“=”。或许将 '%' 添加到 $v。

$sql2 = "SELECT column10 FROM `table` WHERE column1 LIKE '%{$v}%'";

关于php - 数组正确打印数据但查询只显示一半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35604666/

相关文章:

javascript - Laravel、jQuery - 在 Laravel 中验证后返回括号表示法(jQuery 中的点到括号表示法)

php - 如何在 PHP 中为 ob_start 传递带参数的回调函数?

java - mySQL 服务器和 Java 应用程序

php - 如何将 PHP7 的 $mysqli->real_escape_string 与数组一起使用

c# - 如何将 Byte* 从 C++ 转换为 C# 中的 Byte[]

php - Codeigniter:Ion auth 重置密码

javascript - 自定义用户链接如何工作?

mysql - Symfony - 获取最新的对话信息

mysql - 使用 SUM 和 JOIN 获取唯一值

arrays - 搜索某个模块以比较数组