SQL query()方法是否以任何方式影响WordPress()

编辑:我忘记了包含$ wpdb()函数的WP-Load.php。
我在wordpress中制作了一个包含表单的页面。现在, 表单通过此javascript代码将数据发送到PHP文件

< script> $(document).ready(function() { $("#sbmit").click(function() { var episode = $("#text1").val().split("\n"); var server1 = $("#text2").val().split("\n"); var server2 = $("#text3").val().split("\n"); var server3 = $("#text4").val().split("\n"); if (server1 != undefined || server2 != undefined || server3 != undefined ) { $.post("/submit.php", { episode1: JSON.stringify(episode), server11: JSON.stringify(server1), server21: JSON.stringify(server2), server31: JSON.stringify(server3), }, function(data) {alert(data); } ); }}); }); < /script>

和Submit.php文件将数据上传到单独的MYSQL数据库, 因为, 我使用的是wordpress, 我知道$ wpdb是在数据库中插入数据的推荐方法, 但是当我使用$ wpdb时, 控制台日志给出了500错误, 所以我更改了wpdb到新的sqli方法, 并且有效。
几分钟后, 当我尝试更新我的任何帖子时, 它说更新失败, 但无论如何还是更新了帖子, 然后当我打开PHPmyAdmin时出现了数百个错误, 我的整个数据都在打开我的wp-admin时, 它从安装开始了wordpress像我刚安装了wordpress的页面, 还说wordpress数据库错误
所以我问” mysqli方法是否会影响Wordpress?”
下面是Submit.PHP代码, 但是当我单击Submit时出现500错误。
< ?php // Create connection $conn = new wpdb($username, $password, $dbname, $servername); // Check connection if ($conn-> connect_error) { die("Connection failed: " . $conn-> connect_error); }$Episode2=json_decode($_POST['episode1'], true); // Fetching Values from URL $Server12=json_decode($_POST['server11'], true); $Server22=json_decode($_POST['server21'], true); $Server32=json_decode($_POST['server31'], true); for ($x = 0; $x < count($Episode2); $x++) {if ($Episode2[$x] != "") {$sql = "SELECT Episode FROM DBZ WHERE Episode='".$Episode2[$x]."'"; $result = $conn-> get_results($sql); if (mysqli_num_rows($result) > 0) {echo "Episode $Episode2[$x] Server "; if($Server12[$x] != "") {$sql = "UPDATE DBZ SET Server1 = '".$Server12[$x]."' WHERE Episode = '".$Episode2[$x]."' "; $result = $conn-> get_results($sql); echo "1, "; }if($Server22[$x] != "") {$sql = "UPDATE DBZ SET Server2 = '".$Server22[$x]."' WHERE Episode = '".$Episode2[$x]."' "; $result = $conn-> get_results($sql); echo "2, "; }if($Server32[$x] != "") {$sql = "UPDATE DBZ SET Server3 = '".$Server32[$x]."' WHERE Episode = '".$Episode2[$x]."' "; $result = $conn-> get_results($sql); echo "3 "; }echo "Updated \n"; } else {$sql = "INSERT INTO DB VALUES ('".$Episode2[$x]."', '".$Server12[$x]."', '".$Server22[$x]."', '".$Server32[$x]."')"; $result = $conn-> get_results($sql); echo "Episode $Episode2[$x] is Added in Database \n"; }} else { echo "Episode Number is Blank"; } } $conn-> close(); // Connection Closed. ?>

#1Mysqli不会” 影响” wordpress。但是, 你做错了。
你无需创建新连接即可使用$ wpdb。只需声明全局, 直接使用它即可。
GLOBAL $wpdb; $sql = "SELECT Episode FROM DBZ WHERE Episode='".$Episode2[$x]."'"; $results = $wpdb-> get_results($sql);

【SQL query()方法是否以任何方式影响WordPress()】另外, 请尝试使用prepare语句来防止sql注入。

    推荐阅读