2017-01-22 41 views
0

林完全被这个错误confised?我在PHP新MySQL的民行帮助问题

代码:

<?php 
$username = $_POST['username']; 
$password = $_POST['password']; 

if ($username&&$password) 
{ 
$connect = mysql_connect("localhost", "root", "") or die("Could'nt Connect"); 
$query = mysql_query("SELECT * FROM users WHERE username='$username'"); 
mysql_select_db("shit") or die("cant find db"); 
$numrows = mysql_num_rows($query); 
echo $numrows; 
} else 
    die("please enter username and a password"); 

?> 
+1

酷,你在选择前查询数据库。 –

+0

@u_mulder来自phpmyadmin的图片? –

+0

在'$ query'之前移动'mysql_select_db'。你也开放SQL注入。 – chris85

回答

0

我建议你使用的mysqli与数据库交互。 mysql_query已弃用。请参阅文件的位置:http://php.net/manual/en/function.mysql-query.php

要使用DB连接中的mysqli你可以这样做:

$DBhost = "localhost"; 
$DBuser = "your-user"; 
$DBpass = "your-password"; 
$DBName = "your-db-name"; 

// Create connection 
$mysqli = new mysqli($DBhost, $DBuser, $DBpass, $DBName); 

// Check connection 
if ($mysqli->connect_error) { 
    die("Connection failed: " . $mysqli->connect_error); 
} 
+1

是罚款,但没有将所有的OP的代码,这是完全没有用处的 – RiggsFolly

+0

有人已经回答注释中的问题。我只是指出了另一种在最佳实践中做同样事情的方法。我会留下评论,但我不能,因为我最近订阅了堆栈溢出。 – al27091