2017-10-06 47 views
-2

我写的一段代码应该检查URL中的PHP变量,然后使用URL变量和WordPress用户名在数据库中记录条目来执行mysql查询。为什么PHP不会执行mysql查询?

<?php x_get_view(x_get_stack(), 'wp', 'page'); ?> 

<?php 

if (empty($_GET['vote']) == FALSE) { 

    $vote = $_GET['vote']; 
    $vote = mysql_real_escape_string($vote); 

    $db_host = 'localhost'; 
    $db_username = '******'; 
    $db_password = '***********'; 
    $db_name = '*****'; 

    $current_user = wp_get_current_user(); 

    $current_username = $current_user->user_login; 

    $sql = "INSERT INTO Votes (Name, Vote) VALUES('$current_username','$vote')"; 

    $db_connection = mysqli_connect($db_host, $db_username, $db_password, $db_name); 

    mysqli_query($db_connection, $sql); 

}; 

?>

的页面出现加载就好了,但有数据库中没有条目。

我编辑了代码以包括数据库的名称(几个用户说我错过了)。

+0

只是一个小问题....但是,真的是这样你的数据库的用户名和密码的数据库样子?另外,您是否启用了错误报告? –

+0

您选择的数据库在哪里?就像它需要去哪个数据库一样? '$ db_connection = mysqli_connect($ db_host,$ db_username,$ db_password,THEDATABASE);' –

+0

我应该指定 - 这不是用户名和密码在实际代码中的显示方式。 – mcm66103

回答

0

它看起来像我的数据库连接缺少它需要连接到的数据库。你给了ip(localhost),你给了用户名和密码,但是你没有指定哪个数据库。

变化

$db_connection = mysqli_connect($db_host, $db_username, $db_password);

$db_connection = mysqli_connect($db_host, $db_username, $db_password,THEDATABASE) or die(mysqli_error());

,或者你可以将它们分割

$db_connection = mysqli_connect($db_host, $db_username, $db_password) or die(mysqli_error());

$db = mysqli_select_db($db_connection, "NAMEOFDATABASE") or die(mysqli_error());

的“或死亡”应显示ü任何错误,如果有任何

+0

我将代码更改为您的建议。错误在哪里出现?没有输入数据库,并且控制台中没有错误信息。 – mcm66103

+0

你错过了什么 –