Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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_Sql_Sql Server - Fatal编程技术网

数据加载中php中的数组到字符串转换

数据加载中php中的数组到字符串转换,php,sql,sql-server,Php,Sql,Sql Server,内爆仅适用于具有单一维度的数组,您传递的是多维数组。您应该能够通过将卡号放入$items数组而不是整行来解决此问题 <?php $serverName = "RAHULTCO-PC\MANTRA2005"; $url1=$_SERVER['REQUEST_URI']; header("Refresh: 1; URL=$url1"); $connectionInfo = array("Database"=>"PayTime", "UID"=>"sa", "PWD"=&g

内爆
仅适用于具有单一维度的数组,您传递的是多维数组。您应该能够通过将卡号放入
$items
数组而不是整行来解决此问题

    <?php

$serverName = "RAHULTCO-PC\MANTRA2005";
$url1=$_SERVER['REQUEST_URI'];
header("Refresh: 1; URL=$url1");
$connectionInfo = array("Database"=>"PayTime", "UID"=>"sa", "PWD"=>"Mantra123");

$conn = sqlsrv_connect($serverName, $connectionInfo);
$con1 = $con1=mysqli_connect('localhost','root','','gps_db');
$date = date('Y-m-d H:i:sa');
$sql = "SELECT TOP 10 CardNO FROM dbo.tmpDmpTerminalData order by In_Out_Time desc ";
/*$sql = "SELECT [CardNO]
  FROM [PayTime].[dbo].[tmpDmpTerminalData] WHERE (IPaddress = '172.23.42.141' AND In_Out_Time >= '$date')";*/

$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Make the first (and in this case, only) row of the result set available for reading.
if( sqlsrv_fetch( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

// Get the row fields. Field indeces start at 0 and must be retrieved in order.
// Retrieving row fields by name is not supported by sqlsrv_get_field.

if ($conn){
  $items = array();
  while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
      $items[] = $row;

}
   print_r($items);
} 

else{
  echo "connection failed.<br />";
  die (print_r(sqlsrv_errors(), true));
}

$host = "localhost";
$user = "root";
$pass = "";
$db = "gps_db";


$con = mysqli_connect($host, $user, $pass, $db);


if ($con) {
    echo "Connected";
}
    $query = "SELECT `user_id` FROM `gps_gatepassmaster` WHERE `punch_id` IN (".implode(',',$items).")";
    $run = mysqli_query($con, $query);
    if ($run == TRUE){
      ?>
      <table border="1" width="80%" align="center">
        <tr>
          <td>user_id</td>
        </tr>
        <?php
        while($data= mysqli_fetch_assoc($run)){
          ?>
          <tr>
            <td><?php echo $data['user_id'];?></td>
          </tr>
          <?php
        }
         ?></table><?php
这意味着您的
$items
是一个关联数组,位于第54行。 这就是(“.intlode(',',$items.”)中的
其中
punch_id
”;
这里您将它用作简单数组

这就是问题所在


$items[]=$row;
更改为
$items[]=$row['CardNO'];

您使用的是MySQL还是MS SQL Server?@jarlh
sqlsrv_connect()
建议他在SQL Server上我不知道第54行包含什么内容……以后请只选择与您的问题相关的标记,不要垃圾邮件发送其他标记
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
  $items[] = $row['CardNO'];
}
if ($conn){
  $items = array();
  while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
  $items[] = $row;

}
print_r($items);
}