0

Getting the above error when trying to insert into custom table .I am unable to find out what is the cause of the error.

The error comes at line 17. Any help is greatly appreicated.

The code is below:

<?php
session_start();
require_once "wp-load.php";
require_once "dbconfig.php";

global $wpdb, $current_user;
$current_user=wp_get_current_user();
$current_username = $current_user->user_login;
$table_name='persons';
$first_name=$_POST['first_name'];
$last_name= $_POST['last_name'];
$email=$_POST['email'];
$telephone=$_POST['telephone'];

$wpdb->query( $wpdb->prepare(
"
 INSERT INTO $wpdb->$table_name
( first_name, last_name, email,telephone,user_name)
VALUES ( %s, %s, %s,%s,%s )
",
$first_name,$last_name,$email,$telephone,$current_username
) );
  • Seems like there's a typo here: $wpdb->$table_name in the query. – Sally CJ Mar 19 '19 at 8:39
  • Thank you. Problem solved. – David D'Lima Mar 19 '19 at 10:10
0

$wpdb->$table_name is not a valid table name. Use $table_name

$wpdb->query( $wpdb->prepare(
"
 INSERT INTO $wpdb->$table_name
( first_name, last_name, email,telephone,user_name)
VALUES ( %s, %s, %s,%s,%s )
",
$first_name,$last_name,$email,$telephone,$current_username
) );

should be

$wpdb->query( $wpdb->prepare(
"
 INSERT INTO $table_name
( first_name, last_name, email,telephone,user_name)
VALUES ( %s, %s, %s,%s,%s )
",
$first_name,$last_name,$email,$telephone,$current_username
) );
| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.