Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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 mysqli在查询中添加了空值_Php_Mysql_Arrays_Mysqli - Fatal编程技术网

Php mysqli在查询中添加了空值

Php mysqli在查询中添加了空值,php,mysql,arrays,mysqli,Php,Mysql,Arrays,Mysqli,我正在执行一个查询,试图将其拆分为如下数组: $sql = "SELECT *FROM questions"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $myString = $row["qID"] . "," . $row["question"] . "," . $row["answer"] . "%"; $myA

我正在执行一个查询,试图将其拆分为如下数组:

$sql = "SELECT *FROM questions";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$myString = $row["qID"] . "," . $row["question"] . "," . $row["answer"] . "%";
$myArray = explode('%', $myString);

print_r($myArray);
}

} else {
echo "0 results";
}
$conn->close();
但是当我打印数组print\r($myArray)时;或者,我的结果如下:

Array (
    [0] => 1,Vem levde mellan 970-1022,2
    [1] =>
)
Array (
    [0] => 2,Vem levde mellan 1008-1050,3
    [1] =>
) 

为什么数组检索空值?每个数组获得2个索引[0]和[1],但[1]为空。[0]索引包含的信息正是我想要的方式,但空索引给我带来了麻烦。

问题是您在字符%处爆炸,而不是在字符处爆炸,。 我想你需要的是:

$myArray = array();
while($row = $result->fetch_assoc()) 
  $myArray[] = array($row["qID"],$row["question"],$row["answer"]);

print_r($myArray);

问题是您在字符%处爆炸,而不是在字符,。 我想你需要的是:

$myArray = array();
while($row = $result->fetch_assoc()) 
  $myArray[] = array($row["qID"],$row["question"],$row["answer"]);

print_r($myArray);

问题是您在字符%处爆炸,而不是在字符,。 我想你需要的是:

$myArray = array();
while($row = $result->fetch_assoc()) 
  $myArray[] = array($row["qID"],$row["question"],$row["answer"]);

print_r($myArray);

问题是您在字符%处爆炸,而不是在字符,。 我想你需要的是:

$myArray = array();
while($row = $result->fetch_assoc()) 
  $myArray[] = array($row["qID"],$row["question"],$row["answer"]);

print_r($myArray);

$myString以%结尾。
然后,将字符串扩展%。所以,预期的输出是一个至少有两个索引的数组

$myString以%结尾。
然后,将字符串扩展%。所以,预期的输出是一个至少有两个索引的数组

$myString以%结尾。
然后,将字符串扩展%。所以,预期的输出是一个至少有两个索引的数组

$myString以%结尾。
然后,将字符串扩展%。所以,预期的输出是一个至少有两个索引的数组

为了充实我上面的评论,这是而不是mysqli在做任何事情:

php > $x = "a,b,c%";
php > var_dump(explode('%', $x));
array(2) {
  [0]=>
  string(5) "a,b,c"
  [1]=>
  string(0) ""
}

如果使用的分隔符出现在字符串的开头或结尾,这是explode()的正常行为。

为了充实我上面的评论,这是而不是mysqli所做的任何事情:

php > $x = "a,b,c%";
php > var_dump(explode('%', $x));
array(2) {
  [0]=>
  string(5) "a,b,c"
  [1]=>
  string(0) ""
}

如果使用的分隔符出现在字符串的开头或结尾,这是explode()的正常行为。

为了充实我上面的评论,这是而不是mysqli所做的任何事情:

php > $x = "a,b,c%";
php > var_dump(explode('%', $x));
array(2) {
  [0]=>
  string(5) "a,b,c"
  [1]=>
  string(0) ""
}

如果使用的分隔符出现在字符串的开头或结尾,这是explode()的正常行为。

为了充实我上面的评论,这是而不是mysqli所做的任何事情:

php > $x = "a,b,c%";
php > var_dump(explode('%', $x));
array(2) {
  [0]=>
  string(5) "a,b,c"
  [1]=>
  string(0) ""
}

如果使用的分隔符出现在字符串的开头或结尾,这是explode()的正常行为。

这不是mysqli做的。mysqli在那里完全是不可能的。这是你建立一个字符串,并爆炸它。爆炸一根你自己制作的绳子有什么意义?我把它们分开,让它们在一个测验游戏中统一处理:)这不是mysqli做的。mysqli在那里完全是不可能的。这是你建立一个字符串,并爆炸它。爆炸一根你自己制作的绳子有什么意义?我把它们分开,让它们在一个测验游戏中统一处理:)这不是mysqli做的。mysqli在那里完全是不可能的。这是你建立一个字符串,并爆炸它。爆炸一根你自己制作的绳子有什么意义?我把它们分开,让它们在一个测验游戏中统一处理:)这不是mysqli做的。mysqli在那里完全是不可能的。这是你建立一个字符串,并爆炸它。爆炸一根你自己刚造好的绳子有什么意义?我把它们分开,在一个智力竞赛中统一处理:)