2017-02-10 96 views
0

这里是我的HTML表单代码警告:mysqli的查询::():无法获取的mysqli

<html> 
<body> 
    <style> 
body { 
    background-color: #003D4F; color: white; font-family: arial; 
} 
</style> 
<h1> Clicky </h1> 
<h2> Submit Scores </h2> 
<i> We can tell when you lie! Don't do it! ;) </i> <br> 
<form action="submit.php" method="post"> 
    <input type="text" value="Name" /> <br> 
    <input type="text" value="Score" /><br> 
    <input type="submit" value="Submit" /> 
</form> 
</body> 
</html> 

为 'Connection.php'

<?php 


function Connect() 
{ 
$dbhost = "localhost"; 
$dbuser = "username"; 
$dbpass = "password"; 
$dbname = "my_database"; 

// Create connection 
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname) or die($conn->connect_error); 

return $conn; 
} 

?> 

和代码的代码Submit.php

<?php 

require 'connection.php'; 
$conn = Connect(); 
$name = isset($_POST['Name']) ? $_POST['Name'] : ''; 
$score = isset($_POST['id']) ? $_POST['id'] : ''; 
$query = "INSERT into test.clicky (name, score) VALUES('" . $name . "','" . $score . "')"; 
$success = $conn->query($query); 

if (!$success) { 
    die("Couldn't enter data: ".$conn->error); 

} 

echo "Thank you for submitting! <br>"; 

$conn->close(); 

?> 

我收到的错误如下。

警告:mysqli的:: mysqli的():(HY000/1045):ProxySQL错误:访问被拒绝的用户 '用户名'(使用密码:否)在(connection.php)第12行

警告: mysqli :: query():无法在第8行中提取mysqli(submit.php)

警告:main():无法在第11行中提取mysqli(submit.php) 无法输入数据:

第一个错误我有一些想法如何解决在我的情况。但是,另外两个错误给我带来麻烦。

另外你可能会注意到我已经提交了一个非常奇怪的方式。如果我的数据库有自动上传的方式,那就太棒了。

+1

** WARNING **:当使用'mysqli'你应该使用[参数化查询(http://php.net/manual/en /mysqli.quickstart.prepared-statements.php)和['bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)将用户数据添加到您的查询中。 **不要**使用字符串插值或连接来完成此操作,因为您创建了严重的[SQL注入漏洞](http://bobby-tables.com/)。 **绝不**将'$ _POST'或'$ _GET'数据直接放入查询中,如果有人试图利用您的错误,这会非常有害。 – tadman

+0

这是一个凭证问题。确保您使用的帐户有权访问。 – tadman

+0

'INSERT INTO test.clicky'?测试是db吗? – 2017-02-10 22:23:21

回答

0

请仔细阅读警告&错误。你有错误的访问数据。再次检查您的连接数据。你必须defnie $username$password$host & $database同样与数据库的详细信息

+0

我用适当的变量定义它们,我只是把它们覆盖,所以没人能......好吧......破解我的数据库 –

+0

再次检查这些数据并尝试将它们记录到数据库。也许你有空白字符或错误区分大小写 –

相关问题