gpt4 book ai didi

PHP MySQL数据库问题

转载 作者:行者123 更新时间:2023-12-01 11:59:56 26 4
gpt4 key购买 nike

代码 1:

<?phpclass dbConnect {  var $dbHost = 'localhost',  $dbUser = 'root',  $dbPass = '',  $dbName = 'input_oop',  $dbTable = 'users';  function __construct() {

$dbc = mysql_connect($this->dbHost,$this->dbUser,$this->dbPass) or die ("Cannot connect to MySQL : " . mysql_error()); mysql_select_db($this->dbName) or die ("Database not Found : " . mysql_error()); } }class User extends dbConnect { var $name; function userInput($q) { $sql = "INSERT INTO $this->dbTable set name = '".$q."'"; mysql_query($sql) or die (mysql_error()); }}?>


这是调用类的代码。

<?phpinclude ('class.php');$q=$_GET["q"];$user = new User;  $user->userInput($q);?>


代码 2:

<?php  $q = $_GET['q'];$dbc=mysql_connect("localhost","root","") or die (mysql_error());  mysql_select_db('input_oop') or die (mysql_error());  $sql = "INSERT INTO users set name = '".$q."'";  mysql_query($sql) or die (mysql_error());?>

我的代码 1 保存在我的数据库中:
alt text
保存多个!

我的代码 2 保存在我的数据库中:
alt text

我的代码 1 有什么问题?

最佳答案

好吧,代码 1 对 SQL 注入(inject)开放,因为您没有转义 $q。至于为什么会得到两条记录,问题不在代码1,应该是调用userInput的代码。

关于PHP MySQL数据库问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2723771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com