Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 传递数组字符串_Php_Arrays_Csv - Fatal编程技术网

Php 传递数组字符串

Php 传递数组字符串,php,arrays,csv,Php,Arrays,Csv,我从文本文件结构中读取如下内容: aaa bbb ccc 在数组中写入,现在我需要使用此名称进行查询,选择所有具有此名称的冒号,并将结果写入csv文件,文件读取工作正常,但查询仅返回1行,仅返回数组的最后一行。 帮帮我 这是我的代码: <?php $servername = "localhost"; $username = "root"; $password = ""; $db = "tirocinioriginale"; $con = mysql

我从文本文件结构中读取如下内容: aaa bbb ccc 在数组中写入,现在我需要使用此名称进行查询,选择所有具有此名称的冒号,并将结果写入csv文件,文件读取工作正常,但查询仅返回1行,仅返回数组的最后一行。 帮帮我

这是我的代码:

<?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $db = "tirocinioriginale";

    $con = mysqli_connect($servername, $username, $password,$db);


    if (!$con) {
        die("Connessione fallita: " . mysqli_connect_error());
    }
    $myfile = fopen("aziende1.txt", "r") or die("Unable to open file!");
    //echo fread($myfile,filesize("aziende1.txt"));

    $aziende = array();

    while (!feof($myfile)) {
       $aziende[] = fgets($myfile);
    }
    fclose($myfile);


   echo implode(',',$aziende);
    $query = "SELECT * FROM azienda  WHERE nome IN ('".implode("','",$aziende)."')";
    $result = $con->query($query);
    $azienderow = array();
    while($row = $result->fetch_assoc())
    {
      array_push($azienderow, $row);
    }
      echo "Connessione successo";

   var_dump($azienderow);


    //$row = mysql_fetch_assoc($result);

  /*  $fp = fopen('dumpaziende.csv', 'w');

    foreach ($row as $val) {
      fputcsv($fp, explode($val));
    }

fclose($fp);
*/
  //var_dump($aziende);
mysqli_close($con);
?>

产生:

aitech ,Italdata
//    ^-- see this space? this is probably the problem
查询的呈现方式如下:

$query = "SELECT * FROM azienda  WHERE nome IN ('aitech ','Italdata')";
//     the trailing space will impact matching --------^
您可以使用:

implode("','",array_map('trim',$aziende))

或者
trim()
中,而
则在存储数据之前循环进行修剪。

是否检查了
$query
的值?执行
打印($result)
查看查询结果。添加
ini\u集('display\u errors',1);ini_集(“日志错误”,1);错误报告(E_全部);mysqli_报告(mysqli_报告错误| mysqli_报告严格)到脚本的顶部。这将强制任何
mysqli\uuu
错误生成一个异常,您可以在浏览器上看到,其他错误也将在您的浏览器上看到。向我们展示您从
print\r($aziende)获得的信息请!编辑您的问题以添加额外信息如果这无法解决问题,请回显
$query
,并显示您的目标数据库值,以便我们可以确认您的预期匹配是否存在,如您所述。
implode("','",array_map('trim',$aziende))