所以基本上我在这里得到了这个代码:
<?php
include_once 'dbconfig2.php';
$con = new DB_con();
$table = "users";
if(isset($_GET['profile_id']))
{
$sql=mysql_query("SELECT * FROM users WHERE user_id=".$_GET['profile_id']);
$result=mysql_fetch_array($sql);
}
?>
如果记录中不存在user_id,我无法理解如何做到这一点,他们无法查看他们的个人资料,但却导致他们陷入另一个麻烦或一段代码。
答案 0 :(得分:0)
如果user_id不存在,则结果中不会有任何行。当您尝试使用mysql_fetch_array()
读取行时,它会返回FALSE
。因此,您只需测试$result
:
if (!$result) {
die("Invalid profile ID");
}
答案 1 :(得分:0)
尝试使用mysqli使用预准备语句,以避免sql注入。
举例来说:
$mysqli = new mysqli("localhost", "root", "root", "test");
if ($mysqli->connect_errno) {
echo "connect_error". $mysqli->connect_error;
}
$id = $_GET['profile_id'];
$result = $mysqli->prepare('SELECT name FROM users WHERE user_id = ?');
$result->bind_param("i", $id);
$result->execute();
$result->bind_result($col1);
$result->fetch();
$is_valid_profile = (!$col1) ? 'Invalid profile' : 'Valid profile';
echo $is_valid_profile;
$result->close();