![](/img/trans.png)
[英]Inserting data into a table in WordPress database using WordPress $wpdb
[英]Inserting data in table database Wordpress
我目前正在編寫一段代碼,該代碼將最近上傳的數據插入到數據庫中。 我嘗試了不同的方法來使它工作,但它不起作用。
我首先嘗試了以下方法:
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
// check upload status
if (!$upload) {
echo "Er is iets fout gegaan, excuses voor het ongemak";
} else {
$sql = "INSERT INTO table (id, name) VALUES (1, 'Cake')";
var_dump(error_get_last($sql));
var_dump(error_get_last($sql));
返回 NULL。 我不知道為什么,因為 Wordpress 會自動與數據庫建立連接,所以不需要連接。
我還嘗試了以下方法:
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
// check upload status
if (!$upload) {
echo "Er is iets fout gegaan, excuses voor het ongemak";
} else {
// insert data in de database
$sql = "INSERT INTO $wpdb->wpex_programma (id, naam) VALUES (2, 'Country Kickin 2')";
$prepare_query = $wpdb->prepare($sql);
$result = $wpdb->sql($prepare_query);
echo '<pre>';
print_r($result);
通常,當用戶上傳文件時,用戶可以在頁面上查看他的文件。 由於此代碼,這不再可能。 我不知道如何解決。
這是整個 if 和 else 語句:
if ((!$conn_id) || (!$login_result)) {
echo "Het spijt ons, er is momenteel geen connectie met de server.";
// echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
} else {
// echo "upload is gelukt";
}
// upload het bestand
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
// check upload status
if (!$upload) {
echo "Er is iets fout gegaan, excuses voor het ongemak";
} else {
// insert data in de database
$sql = "INSERT INTO $wpdb->wpex_programma (id, naam) VALUES (2, 'Country Kickin 2')";
$prepare_query = $wpdb->prepare($sql);
$result = $wpdb->sql($prepare_query);
echo '<pre>';
print_r($result);
// weergeef het bestand & download
$contents = ftp_nlist($conn_id, $destination_folder);
// doe dit aan als er ergens een error is: var_dump(error_get_last($contents));
foreach ($contents as $mp3_url) {
$filename = basename($mp3_url, ".mp3");
// dit zorgt ervoor dat de punten niet te zien zijn.
if($filename == "..") {
continue;
print_r($filename);
}
if($filename == ".") {
continue;
print_r($filename);
}
?>
此外, $result 變量在var_dump(error_get_last($result));
時返回 NULL var_dump(error_get_last($result));
編輯:
我變了:
else {
// insert data in de database
$sql = "INSERT INTO $wpdb->wpex_programma (id, naam) VALUES (2, 'Country Kickin 2')";
$prepare_query = $wpdb->prepare($sql);
$result = $wpdb->sql($prepare_query);
echo '<pre>';
print_r($result);
到:
else {
// insert data in de database
global $wpdb
$number_of_rows_inserted = $wpdb->insert('wpex_programma', [
'naam' => 'Country kickin 2'
]);
var_dump($number_of_rows_inserted);
print_r($result);
您在wpdb
對象上使用了不存在的方法( $wpdb->sql()
)。
使用$wpdb->query()
執行您的INSERT
查詢。
$sql = "INSERT INTO {$wpdb->prefix}programma (id, naam) VALUES (2, 'Country Kickin 2')";
$query = $wpdb->prepare($sql);
$result = $wpdb->query($query);
var_dump($result); // int(1) on success OR bool(false) on failure
代替
$sql = "INSERT INTO $wpdb->wpex_programma (id, naam) VALUES (2, 'Country Kickin 2')";
$prepare_query = $wpdb->prepare($sql);
$result = $wpdb->sql($prepare_query);
和
$number_of_rows_inserted = $wpdb->insert('wpex_programma', [
'id' => 2,
'naam' => 'Country kickin 2'
]);
var_dump($number_of_rows_inserted);
insert
方法正在做准備,所以你不需要它。
添加global $wpdb;
如果未完成,則在您的函數或文件的開頭。 此外,嘗試刪除'id' => 2
因為 id 應設置為自動遞增。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.