PHP MySQL数据库问题

Jor*_*rge 3 php mysql

代码1:

<?php
dbConnect类{
  var $ dbHost ='本地主机',
  $ dbUser ='root',
  $ dbPass ='',
  $ dbName ='input_oop',
  $ dbTable ='用户';
  函数__construct(){

$ dbc = mysql_connect($ this-> dbHost,$ this-> dbUser,$ this-> dbPass)或死(“无法连接到MySQL:”。mysql_error()); mysql_select_db($ this-> dbName)或死(“找不到数据库:”。mysql_error()); } } 类用户扩展dbConnect { var $ name; 函数userInput($ q){ $ sql =“ INSERT INTO $ this-> dbTable set name ='”。$ q。“'”; mysql_query($ sql)或死掉(mysql_error()); } } ?>


这是调用该类的代码。

<?php
包括('class.php');
$ q = $ _ GET [“ q”];
$ user =新用户;
  $ user-> userInput($ q);
?>


代码2:

<?php
  $ q = $ _GET ['q'];
$ dbc = mysql_connect(“ localhost”,“ root”,“”)或死掉(mysql_error());
  mysql_select_db('input_oop')或死亡(mysql_error());
  $ sql =“ INSERT INTO用户设置名称='”。$ q。“'”;
  mysql_query($ sql)或死掉(mysql_error());
?>

我的代码1保存在我的数据库中:
替代文字
节省多个!

我的代码2保存在我的数据库中:
替代文字

我的代码1有什么问题?

Jak*_*use 5

好的,因为您没有转义$ q,所以代码1可以进行SQL注入。至于为什么要获得两条记录,该问题不在代码1中找到,而可能在调用的代码中找到userInput