2013-02-27 100 views
-5

我试图创建一个脚本,执行以下操作:检索和输出行从数据库

  • HTML表单输入当用户插入名
  • 连接到我的SQL Server
  • 一个匹配的名字从数据库中获取信息
  • 打印在网站

这里是我当前的代码

HTML表单:

<form action="state.php" method="post"> 
CharacterName: <input type="text" name="charname"> 
<input type="submit"> 
</form> 

PHP代码:

$host=localhost; 
$username=test; 
$password=test; 
$db=cq; 
$con=mysqli_connect("$host","$username","$password","$db"); 

if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

$result = mysqli_query($con,"SELECT * FROM cq_user WHERE charname='name'"); 

while($row = mysqli_fetch_array($result)) 
    { 
    echo $row['level'] . " " . $row['money']; 
    echo "<br>"; 
    } 

请告诉我停止我的是当我测试脚本,它只是显示诸如“)的一些事情; ?>

+1

如果你花一点时间让你的问题更清晰,你更有可能得到有用的答案。 – 2013-02-27 23:20:45

+0

你告诉你想要完成什么。但是你需要详细说明什么阻止你/不工作。 – mario 2013-02-27 23:21:02

+0

'WHERE charname ='name''也许你在db中没有任何匹配的行? – bfavaretto 2013-02-27 23:22:55

回答

0

简单(这个查询是不安全的):

$cn = $_POST['charname']; 
$result = mysqli_query($con,"SELECT * FROM cq_user WHERE charname='" . $cn . "'"); 

也可以,你可以echo $_POST['charname'];看看你是否从你的表单中获得价值。如果你这样做,直接尝试查询数据库,看看它输出什么

0

您需要在SQL中使用$char = $_POST['charname'];来从$ _ POST的角色名字,然后用至少mysqli_real_escape_string消毒数据,并传递WHERE charname='{$char}'

+0

我试过,但它没有工作一些如何,你能告诉我一个例子或一些事情 – UnSp0k3n 2013-02-27 23:21:33

+0

看看准备好的语句。 – Leeish 2013-02-27 23:22:32

+0

这听起来像一个家庭作业问题,但确定。 $ char = mysqli_real_escape_string($ _ POST ['charname']); $ result = mysqli_query($ con,“SELECT * FROM cq_user WHERE charname ='{$ char}'”); – bizzehdee 2013-02-27 23:22:59