在null上调用成员函数insert()

时间:2018-03-15 15:13:24

标签: php mysql wordpress

我在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>

1 个答案:

答案 0 :(得分:0)

导致消息的直接问题是$wpdb变量为空。这表明您的代码没有作为WordPress插件运行,因此在执行代码之前没有包含正确的WordPress包含文件。已在How to include $wpdb in wordpress plugin?

中讨论了解决方案