我在WordPress中有插入问题,处理表单时出现此错误消息。 我上传了一张图片,然后将图片的网址插入到bdd中。 图像的上传工作正常,但在插入的那一刻我犯了一个错误:
致命错误:在null
上调用成员函数insert()
我的脚本treatment_upload:
lalala();
function lalala() {
$extensions_valides = array('jpg', 'jpeg', 'gif', 'png');
$extension_upload = strtolower(substr(strrchr($_FILES['icone']['name'], '.'), 1));
if (in_array($extension_upload, $extensions_valides))
echo "Extension correcte";
///Créer un identifiant difficile à deviner
$nom = md5(uniqid(rand(), true));
$nom = "fichier/$nom.{$extension_upload}";
$resultat = move_uploaded_file($_FILES['icone']['tmp_name'], $nom);
if ($resultat)
echo "Transfert réussi";
$url_img = "wp-content/plugin/fichier/$nom";
blabla($url_img);
//pause($url_img);
}
function blabla($url_img){
global $wpdb;
$wpdb->insert(
'test', //table name
array(
'id' => "",
'titre' => $url_img,
), //columns
array(
'%d',
'%s',
)
);
}
我的表格:
<form method="post" action="http://localhost/wordpress/wp-content/plugins/traitement_upload.php" enctype="multipart/form-data">
<label for="icone">Upload image :</label><br />
<input type="file" name="icone" id="icone" /><br />
<!-- <label for="mon_fichier">Fichier (tous formats | max. 1 Mo) :</label><br />
<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
<input type="file" name="mon_fichier" id="mon_fichier" /><br />-->
<label for="titre">Titre du fichier (max. 50 caractères) :</label><br />
<input type="text" name="titre" value="Titre du fichier" id="titre" /><br />
<label for="description">Description de votre fichier (max. 255 caractères) :</label><br />
<textarea name="description" id="description"></textarea><br />
<input type="submit" name="submit" value="Envoyer" />
</form>
答案 0 :(得分:0)
导致消息的直接问题是$wpdb
变量为空。这表明您的代码没有作为WordPress插件运行,因此在执行代码之前没有包含正确的WordPress包含文件。已在How to include $wpdb in wordpress plugin?