个性化阅读
专注于IT技术分析

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.
?>

#1


Mysqli不会”影响” wordpress。但是, 你做错了。

你无需创建新连接即可使用$ wpdb。只需声明全局, 直接使用它即可。

GLOBAL $wpdb;
$sql = "SELECT Episode FROM DBZ WHERE Episode='".$Episode2[$x]."'";

$results = $wpdb->get_results($sql);

另外, 请尝试使用prepare语句来防止sql注入。

赞(0)
未经允许不得转载:srcmini » SQL query()方法是否以任何方式影响WordPress?

评论 抢沙发

评论前必须登录!