2017-01-22 43 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