多数大学生出来选择的工作和专业无关
首页 > 专业知识

PHP通过参数来生成MYSQL语句类

时间:2018-05-03 18:15:08 [来源]:郑州PHP培训学校

   PHP通过参数来生成MYSQL语句类

  这个类可以通过具有参数的数组来构建MySQL查询语句。
  这个类可以通过指定的表和字段参数创建SELECT ,INSERT , UPDATE 和 DELETE 语句。
  这个类可以创建SQL语句的WHERE条件,像LIKE的查询语句,使用LEFT JOIN和ORDER 语句。
  例子:
  /* *******************************************************************Example file
  This example shows how to use the MyLibSQLGen classThe example is based on the following MySQL table:
  CREATE TABLE customer (
  id int(10) unsigned NOT NULL auto_increment,name varchar(60) NOT NULL default '',
  address varchar(60) NOT NULL default '',
  city varchar(60) NOT NULL default '',
  PRIMARY KEY (cust_id)
  ) TYPE=MyISAM;
  ******************************************************************* */require_once ( " class_mylib_SQLGen-1.0.php " );$fields = Array ( " name " , " address " , " city " );$values = Array ( " Fadjar " , " Resultmang Raya Street " , " Jakarta " );$tables = Array ( " customer " );
  echo " Result Generate Insert
  " ;
  $object = new MyLibSQLGen();
  $object -> clear_all_assign(); // to refresh all property but it no need when first time execute$object -> setFields( $fields );
  $object -> setValues( $values );
  $object -> setTables( $tables );
  if ( ! $object -> getInsertSQL()){ echo $object -> Error; exit ;}
  else { $sql = $object -> Result; echo $sql . "" ;}
  echo " Result Generate Update
  " ;
  $fields = Array ( " name " , " address " , " city " );$values = Array ( " Fadjar " , " Resultmang Raya Street " , " Jakarta " );$tables = Array ( " customer " );
  $id = 1 ;
  $conditions [ 0 ][ " condition " ] = " id='$id' " ;$conditions [ 0 ][ " connection " ] = "" ;$object -> clear_all_assign();
  $object -> setFields( $fields );
  $object -> setValues( $values );
  $object -> setTables( $tables );
  $object -> setConditions( $conditions );
  if ( ! $object -> getUpdateSQL()){ echo $object -> Error; exit ;}
  else { $sql = $object -> Result; echo $sql . "" ;}
  echo " Result Generate Delete
  " ;
  $tables = Array ( " customer " );
  $conditions [ 0 ][ " condition " ] = " id='1' " ;$conditions [ 0 ][ " connection " ] = " OR " ;$conditions [ 1 ][ " condition " ] = " id='2' " ;$conditions [ 1 ][ " connection " ] = " OR " ;$conditions [ 2 ][ " condition " ] = " id='4' " ;$conditions [ 2 ][ " connection " ] = "" ;$object -> clear_all_assign();
  $object -> setTables( $tables );
  $object -> setConditions( $conditions );
  if ( ! $object -> getDeleteSQL()){ echo $object -> Error; exit ;}
  else { $sql = $object -> Result; echo $sql . "" ;}
  PHP+MYSQL如何插入记录到数据库
  “INSERT INTO”语句的作用是:向一个数据库的表中插入一条新的记录。
  向一个数据库表中插入数据
  “INSERT INTO”的作用是:向一个数据库的表中插入一条新的记录。
  语法
  INSERT INTO table_name
  VALUES (value1, value2,....)
  你可以在指定的列中插入数据,具体如下:
  INSERT INTO table_name (column1, column2,...)VALUES (value1, value2,....)
  注意:SQL语句是“字母大小写不敏感”的语句(它不区分字母的大小写),即:“INSERT INTO”和“insert into”是一样的。
  在PHP内创建数据库,我们需要在mysql_query()函数内使用上述语句。这个函数是用来发送MySQL数据库连接建立的请求和指令的。
  案例
  在前一章里,我们建立了一张名为“Person”的表,其中包含三个纵列:"Firstname", "Lastname" 和 "Age"。在下面的案例当中,我们还会用到同一张表,并在其中加入两条新的记录:
  $con = mysql_connect("localhost","peter","abc123");if (!$con)
  {
  die('Could not connect: ' . mysql_error());}mysql_select_db("my_db", $con);mysql_query("INSERT INTO person (FirstName, LastName, Age)VALUES ('Peter', 'Griffin', '35')");mysql_query("INSERT INTO person (FirstName, LastName, Age)VALUES ('Glenn', 'Quagmire', '33')");mysql_close($con);?>
  把一张表中的数据插入数据库中
  现在,我们将建立一个HTML表单;通过它我们可以向“Person”表中加入新的记录。
  下面演示这个HTML表单:
  Firstname:
  Lastname:
  Age:
  提交
  在上述案例中,当一个用户点击HTML表单中的“提交submit”按钮后,表单中的数据会发送到“insert.php”。“insert.php”文件与数据库建立连接,并通过PHP $_POST变量获取表单中的数据;此时,mysql_query()函数执行“INSERT INTO”语句,这样,一条新的记录就被添加到数据库的表单当中了。
  下面试“insert.php”页面的代码:
  $con = mysql_connect("localhost","peter","abc123");if (!$con)
  {
  die('Could not connect: ' . mysql_error());}mysql_select_db("my_db", $con);$sql="INSERT INTO person (FirstName, LastName, Age)VALUES
  ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";if (!mysql_query($sql,$con)){
  die('Error: ' . mysql_error());
  }
  echo "1 record added";mysql_close($con)
  ?>

上一篇:PHP后门的隐藏技巧测试报告

下一篇:PHP开发者常犯的10个MySQL错误