2017-02-27 76 views
0

我想使用PHP插入数据到MySQL数据库。据我可以看到我使用正确的代码,但它没有插入 - 在phpMyAdmin没有任何变化。我做错了什么? (我在这里更改了数据库名和密码只针对安全性它连接没有任何问题)插入MySql DB与PHP不工作

使用反引号的
<?php 
     $link = mysqli_connect("localhost", "dbname", "password", "dbname"); 

     if (mysqli_connect_error()) { 

      die ("Error connecting to the database"); 

     } 

     $query = "INSERT INTO 'users' ('email', 'password') 
        VALUES ('[email protected]', '12345678')"; 

     mysqli_query($link, $query); 

    ?> 
+1

yheah平面文字的密码,您将是流行 – nogad

+0

[Little Bobby](http://bobby-tables.com/)说*** [你的脚本存在SQL注入攻击风险。](http://stackoverflow.com/questions/60174/how-can ***)了解[MySQLi](http://php.net/手动/ EN/mysqli.quickstart.prepared -statements.php)。即使[转义字符串](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)是不安全的! [不要相信它?](http://stackoverflow.com/q/38297105/1011527) –

+0

**不要存储纯文本密码!**请使用PHP的[内置函数](http:// jayblanchard。 net/proper_password_hashing_with_PHP.html)来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用'password_hash()'[兼容包](https://github.com/ircmaxell/password_compat)。确保你*** [不要越狱密码](http://stackoverflow.com/q/36628418/1011527)***或在哈希之前使用其他任何清理机制。这样做*更改密码并导致不必要的附加编码。 –

回答

3

``而不是单引号'

$query = "INSERT INTO `users` (`email`, `password`) 
       VALUES ('[email protected]', '12345678')"; 
+1

或两者都不,因为它们是可选的,除非使用保留字 – nogad

+0

唉这就是问题 - 谢谢! – RT5754