为什么这个PHP代码不起作用?

时间:2011-06-18 14:05:13

标签: php

<?php
require_once($_SERVER['DOCUMENT_ROOT'].'/api_config.php');

error_reporting(E_ALL);
ini_set("display_errors", 1);
$loc = $_POST['u'];

//initialize the connection to the database
$config = $config['production'];
$con = mysql_connect($config['db']['host'], $config['db']['username'], $config['db']['password']) or die ("Unable to connect");
mysql_select_db ($config['db']['dbname'], $con) or die ("Unable to select database");
$query = "SELECT `location` FROM `active_users` WHERE name = '$loc'";
$result = mysql_query($query, $con) or die ("Unable to run query");

if (mysql_num_rows($result) > 0) { 
// yes, the user esists
    header("HTTP/1.0 200 Success"); 
    header('Content-Type: text/plain');
} else 
// no, user doesn't exist 
    header("HTTP/1.0 404 Not Found");
    header('Content-Type: text/plain');
} 
mysql_close($con);

?>

我的浏览器出现HTTP Error 500 (Internal Server Error):错误。为什么?

2 个答案:

答案 0 :(得分:11)

您忘了打开else {

答案 1 :(得分:3)

您还没有清理输入 - 您正在执行可能由用户输入的原始SQL。转过来:

$query = "SELECT `location` FROM `active_users` WHERE name = '$loc'";

$query = "SELECT `location` FROM `active_users` WHERE name = '".mysql_real_escape_string($loc)."'";