2014-02-13 23 views
-1

我有一个mysql数据库,并已成功连接到我的PHP脚本。但即时通讯尝试采取一个变量,并搜索数据库中的字符串(在这种情况下名称'Alec')如果姓名亚历克在数据库中,我想打印它。没有什么是在屏幕上打印,是的,亚历克是在数据库中。谢谢您的帮助。指定信息的PHP搜索数据库

$db=mysqli_connect("database","uid","pass", "name"); 

if (mysqli_connect_errno()){ 
    echo "no connection: " . mysqli_connect_error(); 
} 
//create table in db 
$table="CREATE TABLE people(firstName CHAR(30),lastName CHAR(30),age INT)"; 
//exc table query 
if(mysqli_query($db,$table)){ 
    echo "Created people table " . mysqli_error($db); 
} else { 
    echo "No."; 
} 

//make submission to table 
mysqli_query($db,"INSERT INTO people (firstName, lastName, age) VALUES ('Alec', 'Marks',24)"); 

$result=mysql_query($db,"SELECT * FROM people WHERE firstName="Alec""); 

while($it = mysqli_fetch_array($result)){ 
    echo $it['firstName']; 
} 

?> 
+1

您是否使用'mysqli'或'mysql_query'?你们俩都在这里。我建议只使用'mysqli',因为'mysql_query'超级老,使用起来真的很糟糕。 – tadman

+0

'mysql_query' <= DEAD STOP –

+0

转到YouTube并搜索phpacademy。我知道他有很多视频可以解释这种事情。 –

回答

1

亚历克不是一个变量。 还要注意在你的查询中使用mysqli_而不是mysql_。

这是一个PHP错误。你应该有这样的事情

$db=mysqli_connect("database","uid","pass", "name"); 

if (mysqli_connect_errno()){ 
    echo "no connection: " . mysqli_connect_error(); 
} 
//create table in db 
$table="CREATE TABLE people(firstName CHAR(30),lastName CHAR(30),age INT)"; 
//exc table query 
if(mysqli_query($db,$table)){ 
    echo "Created people table " . mysqli_error($db); 
} else { 
    echo "No."; 
} 

//make submission to table 
mysqli_query($db,"INSERT INTO people (firstName, lastName, age) VALUES ('Alec', 'Marks',24)"); 
$name = "Alec"; 
$result=mysqli_query($db,"SELECT * FROM people WHERE firstName='".$name."'"); 

while($it = mysqli_fetch_array($result)){ 
    echo $it['firstName']; 
} 

?> 

这里是什么,我改变:

$name = "Alec"; 
$result=mysql_query($db,"SELECT * FROM people WHERE firstName='".$name."'"); 
0

你在包装varchar时有一个小问题。

它应该是:

$result = mysql_query($db, "SELECT * FROM people WHERE firstName='$name'"); 

提示:执行mysql命令时,检查错误,并打印出来我也非常建议更换。

例如:

mysqli_query($db,$table) or die(mysql_error()); 
2

启用的error_reporting为E_ALL。请阅读documentation。在此之后,你知道发生了什么。