ВСТАВКА Данные в таблицу с заполнителями

Я пытаюсь вставить данные в таблицу, получить ошибки, я попытался обмен сообщениями данных, но не могу заставить его работать, не могли бы вы помочь мне выяснить, что я сделал не так, пожалуйста …

Вот мой код, который я выполняю после завершения проверки:

$sql = 'INSERT INTO `tablename` (`file`,`afile`,`type`,`keyword`,`location`,`numbl`,`userul`,`uldate`) values (%s,%s,%s,%s,%s,%s,%s,%d) "'. $_REQUEST['filename'] . '", "' . $url . '", "' . $_REQUEST['filetype'] . '", "' . $_REQUEST['filekeyword'] . '", "' . $_REQUEST['filelocation'] . '", "' . $_REQUEST['filenumbl'] . '", "' . $user_login . '", "' . time() . '"'; $wpdb->query($sql); $_tbInsertId = $wpdb->insert_id; 

Это не работает. Я добавил код ошибки show, и он говорит следующее:

  WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s,%s,%s,%s,%s,%s,%s,%d) "LK-Contractor-NOGglRev-16Ld-082214.csv"' at line 1] 

Я даже попытался поместить запятую ПОСЛЕ закрытия) в значения … но такую ​​же ошибку. Я добавил метки «quote» во всех полях, которые также не исправили это.

Вы видите, что вызывает это? Спасибо, Ричард

Я нашел ответ в кодексе. Я просто использовал его код и адаптировал его, этот код:

  $wpdb->query( $wpdb->prepare( " INSERT INTO $wpdb->postmeta ( post_id, meta_key, meta_value ) VALUES ( %d, %s, %s ) ", 10, $metakey, $metavalue ) ); 

Так оно работает сейчас.

Если вы все еще сталкиваетесь с проблемой, попробуйте распечатать запрос

 echo $sql = 'INSERT INTO `tablename` (`file`,`afile`,`type`,`keyword`,`location`,`numbl`,`userul`,`uldate`) values ("'. $_REQUEST['filename'] . '", "' . $url . '", "' . $_REQUEST['filetype'] . '", "' . $_REQUEST['filekeyword'] . '", "' . $_REQUEST['filelocation'] . '", "' . $_REQUEST['filenumbl'] . '", "' . $user_login . '", "' . time() . '"'; // $wpdb->query($sql); // $_tbInsertId = $wpdb->insert_id; 

Теперь запустите напечатанный запрос напрямую в phpmyadmin, чтобы проверить проблему, если какое-либо значение отсутствует

Надеюсь, это поможет