-3
這是我的代碼,它不喜歡我致電的最後一行一個來自頭文件的方法。即使我調用的方法採用相同數量的參數,它聲明瞭無效的參數編號。我不明白這個參數沒有被定義,因爲$ params是在調用之前定義的,並且$ query是從另一個文件傳入的值。我試過使用點運算符而不是加號來定義$ params,但這並沒有幫助。這裏是我打電話給uploadImage法$查詢值:無法解決此問題:致命錯誤:帶有消息'SQLSTATE [HY093]的未捕獲異常'PDOException':無效參數編號:參數未定義'
Image::uploadImage('postimg',
"UPDATE dry_posts SET postimg=:postimg WHERE id=:postid", array(':postid'=>$postid));
這個文件應該在另一個文件從一種形式上傳圖片到imgur。
<?php
include_once("connect.php");
class Image
{
public static function uploadImage($formname,$query,$params)
{
$formname = "";
$response = "";
$image = "";
if(file_exists($formname))
{
$image = base64_encode(file_get_contents($_FILES[$formname]['tmp_name']));
}
$options = array('http'=>array(
'method'=>"POST",
'header'=>"Authorization: Bearer 8cd9d1bb71401737dc720f9381d8e9763f580af6\n".
"Content-Type: application/x-www-form-urlencoded",
'content'=>$image
));
$context = stream_context_create($options);
$imgurURL = "https://api.imgur.com/3/image";
if ($_FILES[$formname]['size'] > 10240000) {
die('Image too big, must be 10MB or less!');
}
if(file_exists($formname))
{
$response = file_get_contents($imgurURL, false, $context);
}
$response = json_decode($response);
//$prearams = array($formname=>$response->data->link);
//$params = $preparams + $params;
$params=array(':postid'=>$postid)+array(':postimg'=>$postimg);
connect::query($query,$params);
}
}
?>
好的,我試着像這樣填充它$ postimg = connect :: query('SELECT postimg FROM dry_posts');我得到了同樣的錯誤,甚至填充$ postimg我仍然得到了那個錯誤 – Bubba
你是否爲'$ postimg'值是什麼?嘗試'var_dump()'並檢查它是否是你要查找的字符串。 – JazZ
$ postimg是另一個文件中的表單的變量 – Bubba