【发布时间】:2022-01-23 14:29:07
【问题描述】:
首先我在这里有插入部分,它从 json 文件中获取数据,然后插入然后选择
$mysqli = new mysqli($servername, $username, $password,$db) or die("Connect failed:
%s\n". $mysqli -> error);
echo "Connected successfully";
$json = file_get_contents("https://raw.githubusercontent.com/SeteMares/full-stack-test/master/feed.json") ;
$json = json_decode( $json,true);
$content= array();
$TITLE = array();
$CONTENT = array() ;
$MEDIA = array() ;
$SLUG = array() ;
$categories = array() ;
foreach ($json as $key => $value){
$TITLE[] = $json[$key]['title'] ;
$CONTENT[] = $json[$key]['content'];
$MEDIA[] = $json[$key]['media'];
$SLUG[] = $json[$key]['slug'];
$categories[] = $json[$key]['categories'];
}
for($s=0;$s<sizeof($TITLE);$s++){
$url_string = $CONTENT[$s][0]['content'];
$res = urldecode($url_string);
$Cataggory = $categories[$s]['primary'];
echo gettype($Cataggory );
$slug = $SLUG[$s] ;
echo gettype($slug );
$sqlquery = "INSERT INTO `jsondata` (`title`, `slug`, `content`, `categories`, `media`) VALUES ( '$TITLE[$s]', ? , ?, ?, '$TITLE[$s]' )" ;
$stmt = $mysqli->prepare($sqlquery);
$stmt->execute(array($slug,$res,$Cataggory));
}
当我选择它不起作用的数据时,它会打印出来
Fatal error: Uncaught Error: Call to undefined method mysqli_stmt::fetchAll() in C:\xampp\htdocs\firstphp\index.php:68 Stack trace: #0 {main} thrown in C:\xampp\htdocs\firstphp\index.php on line 68
这个选择代码确定所有代码都在同一个文件中
$sqlquery3 = "SELECT 'title' FROM jsondata " ;
$sth = $mysqli->prepare($sqlquery3);
$sth->execute();
$result = $sth->fetchAll();
print_r($result);
【问题讨论】:
-
这能回答你的问题吗? How do I use fetchAll in php?
-
fetchAll()是 PDO 语法。您正在使用 MySQLi。这是两个完全不同的扩展。 -
正如@M.Eriksson 所说,
fetchAll是 PDO 语法。对于 MySQLi,正确的语法是fetch_alllink -
@DimitrisFilippou 它几乎可以工作,是的,至少它打印了一些东西并执行了查询,但它是空的
-
它如何正确打印字段数