Php中使用INSERT插入数据语句的方法

 更新时间:2016年11月25日 17:06  点击:1982
保存数据到mysql数据库中我们需要使用update或insert来协助我们完成,下面我给学习php的朋友介绍几个应用例子,希望文章给你带来帮助。

我们先来介绍INSERT语句

语法1: INSERT INTO table_name VALUES ("1", "2")

解说: 就是插入插入2个值。第一个值为:1 第二个值为:2

 
语句2:INSERT INTO table_name (column1, column2)VALUES (value1, value2)

解说:就是根据指定的键!插入指定的值。在字段 column1 插件的值为:value1 ,然后再字段column2 插入的值为:value2

INSERT语句的列子

 代码如下 复制代码

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Peter', 'Griffin', '35')");

mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Glenn', 'Quagmire', '33')");

mysql_close($con);
?>

例子

 代码如下 复制代码

<?php  
 /* 
  * 资料保存 
  * 程序:刘兴 
  * 时间:2010-6 
  */ 
?>  
<!DOCTYPE html PUBLIC ”-//W3C//DTD XHTML 1.0 Transitional//EN” ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>  
<html xmlns=”http://www.w3.org/1999/xhtml”>  
<?php   
  require_once(“gxpass.php”);//引入密码验证   
  require_once(“connDB.php”);//引入数据库连接参数    
  $zl=$_POST;  
 
//数据保存  
  list ($pid,$pname)=split(‘-’,$zl[people]);  
  $year=$zl[year];  
  $jd=$zl[jd];     
  foreach($zl as $key => $value){    
   if  (strstr($key,”fs”)) {  
   if (strstr($key,”kfs”)){  
          $khxm=substr($key,3,strlen($key)-3);  
    $fs=$zl[$key];  
    continue;             
   }   //www.111cn.nEt
   else{  
          $khxm=substr($key,2,strlen($key)-2);  
   }     
      $khfs=$value;   
   $khinfo=$zl[$khxm];        
          $sql=”delete from khzl where peopleid=’$pid’ and khbm=’$khxm’ and time=’$jd’ and year=’$year’”;  
    $result=mysql_query($sql) ;            
       $sql=”INSERT INTO khzl (peopleid ,khbm ,fenshu ,time ,year ,info,fs ) VALUES  (‘$pid’, ’$khxm’, $khfs, ’$jd’, ’$year’, ’$khinfo’,'$fs’)”;  
    $fs=0;  
   $result=mysql_query($sql);    
   }  
 }   
?>  
<head>  
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />  
<title>数据保存</title>  
</head>  
<body>  
<?php   
 
//网址转向  
echo ”<script language=’javascript’>”;   
echo ” location=’peoplexz.php’;”;   
echo ”</script>”;  
?>  
</body>  
</html> 

一聚教程小编提醒你,保存数据时我们要注意页面之间的编码以免出现不必要的麻烦了,还有就是数据类型与我们提交的数据要一致否则数据是保存不成功的哦。

留言板是在刚接触php时用来学习的一个简单的应用例子了,今天我再给初学php的朋友提供一个完整的php留言板的全部制作过程,希望对你会有帮助。

在网上找了这方面的教程 但是基本就是没有人说什么 然后在某一天看见一个PHP程序设计出了一张类似这样的数据库设计图之后就有了很多领悟!下面是数据库的结构图

 

 下面我们就来继续一下介绍

   id                        这个算是父Id 可以通过这个id来查询 在这个id下是否有子id 同时也可以记录这个是那条留言的id 

   son_id                  这个是子id 然后通过这个id 可以找到相对应的父id
   news_id                记录文章的id
   sender_author       接受留言的人
   receiver_author     发送留言的人
   content                留言的内容
   status                   在有人回复你的帖子的时候 这个值从0转为1时候 该消息不在显示 如果没点击进去 该消息依然存在
   time                     记录留言的时间

 留言板回复思路

 当发送方(也就留言的人)要到该文章下留言或者回复的的时候就需要接收方(也就文章的作者或者要被回复的人)来接收。单数据库语句查询到这个键sender_author和receiver_author 的是就会知道接收方是谁和发送方是谁了。然后在根据这个判断来显示出回复内容

 

  提示你有一条新的消息思路

 当发送方发送消息的时候 这个status的值默认为0 就是提示接收发 你有一条新的消息。当点击进去的时候 调用数据库修改语句把指定的值修改成为1 这样就不显示了                  

 

查看评论的时候 的数据库操作语句

 

 代码如下 复制代码

 

function message($id){   
  $query = $this->db->query("SELECT * FROM message WHERE news_id = '$id'");//或者文章id后查询里面所有评论  
  return $query->result();   
 }

 

这个是获取父的留言内容的代码

 代码如下 复制代码


<?php foreach($query as $sel){?>
<p>留言用户:<?php echo $sel->receiver_author;?> 留言内容:<?php echo $sel->content?></p>
<?php }?>

 

证 用户是否登陆 并给予留言权限

 

 代码如下 复制代码

 

<form id="form1" name="form1" method="post" action="<?php echo site_url()."/publish/user_message"?>">
<textarea rows="5" cols="50" name="huifu" <?php if($uere_name == "0"){echo "disabled";}?> >
<?php
 if($uere_name == "0")
{echo "抱歉你还没登录不能进行留言";}
?>www.111cN.net
</textarea>
<input class="wole" name="author" value="<?php echo $author;?>" /><!--接受方帖子作者-->
<input class="wole" name="news_id" value="<?php echo $news_idx;?>" /><!--文章id-->
<input type="submit" name="Submit"/>
</form>
<script language="javascript">
function updateinfo(){
  if(<?php echo $uere_name;?> == 1){
    document.form1.Submit.value = "留言";
    document.form1.Submit.disabled = false;
  }
  else{
    document.form1.Submit.value = "还未登录";
 document.form1.Submit.disabled = "disabled";
  }
}
updateinfo();
</script>

 

这个是显示了 获取指定的父id 之后来显示他里面的全部子id 和留言内容

 

 代码如下 复制代码

 

<p>这里是<?php echo $is;?>楼 用户:<?php echo $sel->receiver_author;?> <br />留言内容:<?php echo $sel->content?>&nbsp;&nbsp;&nbsp;

<a onClick="showdiv('contentid<?php echo $is;?>','showtext<?php echo $is;?>')" href="javascript:void(0)">回复</a>
<div id="contentid<?php echo $is;?>" class="none">
<?php 
 $query = $this->db->query("select * from message where son_id ='$sel->id' order by id");//获取指定父id的子回复
 $revis = $query->result();
    foreach($revis as $row){?>
 <p><?php if($row->sender_author == $row->receiver_author){echo $row->sender_author;}
 else{ echo $row->sender_author."回复了:".$row->receiver_author;}?>
  内容是:<?php echo $row->content?></p>
<?php }?>
<form action="<?php echo site_url()."/publish/son_message"?>" method="post">
<input name="son_idx" class="wole" value="<?php echo $sel->id?>" />
<input name="receiver_author" class="wole" value="<?php echo $sel->receiver_author;?>" />
<input class="wole" name="news_id" value="<?php echo $news_idx;?>" /><!--文章id-->
<textarea rows="5" cols="50" name="huifux"></textarea>
<br><input type="submit" name="sub" value="回复"></form></div></p>
<script language="JavaScript" type="text/JavaScript">
<!--www.111cn.net
function showdiv(targetid,objN){
  
      var target=document.getElementById(targetid);
      var clicktext=document.getElementById(objN)
     
            if (target.style.display=="block"){
                target.style.display="none";
                clicktext.innerText="回复";
 

            } else {
                target.style.display="block";
                clicktext.innerText='收起';
            }
  
}
-->
</script>

 

这个是实现之后的效果图片 留言板已经实现了 留言内容回复

 然后这个是实现了 回复你的时候 会显示你有一条新的留言 

php中要查询mysql数据库中的内容我们必须先连接mysql数据库,然后再利用sql语句进行查询,下面我们来看一些例子吧。

sql有许多对数据库操作的语句。但是常见和比较需要的是这么几个语句 。SELECT 语句用于从数据库中选取数据。
 

那么我们先来介绍第一种 SELECT语句

语句1:SELECT *  FROM table_name

解说:意思就是读取整个表table_name里面的数据显示出来

语句1:SELECT * FROM table_name Where x = 1

解说:意思就是读取表table_name里面键名为:x 值为:1的 数据显示出来
 

Select 查询语句的例子

 代码如下 复制代码
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");
while($row = mysql_fetch_array($result))
  {
  echo $row['FirstName'] . " " . $row['LastName'];
  echo "<br />";
  }
mysql_close($con);
?>
 

例子

 代码如下 复制代码

<?php
define ('HOSTNAME', 'localhost'); //数据库主机名
define ('USERNAME', 'username'); //数据库用户名
define ('PASSWORD', 'password'); //数据库用户登录密码
define ('DATABASE_NAME', 'testdb'); //需要查询的数据库
$db = mysql_connect(HOSTNAME, USERNAME, PASSWORD) or
         die (mysql_error());
//连接不上,就会显示mysql出错的原因。
mysql_select_db(DATABASE_NAME);
//切换到testdb www.111cn.net
$query =
"SELECT uri,title FROM testdb WHERE 1 ORDER by rand() LIMIT 1";
//上面这句的意思是从testdb中随机提取一条数据。
$result = mysql_query($query);
//查询
while ($row = mysql_fetch_array($result)) { echo "<p id="title">" ,
($row['title']) , "</p><p id="uri">&ndash;" , nl2br($row['uri'])
, "</p>"; }
//显示结果
mysql_free_result($result);
//释放结果
mysql_close();
//关闭连接
?>

mysql中文数据出现乱码

数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:

 代码如下 复制代码

mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");

来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:

mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如页面申明的编码与数据库内部编码一致可以不设定连接编码。

代码如下:

 代码如下 复制代码

$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");

今天header(\"Location: $url\"),以往跳转总是可以的,今天却不动,只是输出结果。以往自己要确认检查,$url的值获取的是否正确,所以在前面加了echo $url;来调试用,结果就导致了header函数的无效。

在PHP中用header("location:test.php")进行跳转要注意以下几点:

1、location和“:”号间不能有空格,否则会出错。
2、在用header前不能有任何的输出,包括include的页面中标签“?>”后不能有空格!!
3、header后的PHP代码还会被执行。


PHP的 header 跳转之前不能有任何内容输出,因为PHP开始执行的时候就已经向浏览器送出HTTP头信息,之后就不再允许更改了.

但是如果必须要在输出之后再处理header信息的话可以使用 ob_start() ob_end_flush() 来缓存一下要发送的内容,等到header继续再发送内容.

或者一个更简单的办法,修改php.ini,找到 output_buffering=Off 修改为 output_buffering=4096

数据编码转换方法不能直接使用iconv函数来进行转换了,但我们可以利用iconv与var_export函数进行编码转换了,下面来看一个实例


用构建数组原型的序列化方法,借助var_export函数,最终函数如下:

 代码如下 复制代码

function array_iconv($in_charset,$out_charset,$arr){

return eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).';'));

}

原理很简单 var_export设置第二个参数为true,返回数组原型字符串,将字符串转换为utf-8编码,之后再用eval来执行返回(类似匿名函数?),至此完美解决问题。

一聚教程小编还有一个想法,就是利用foreach遍历数组然后再利用iocnv函数起先一个个转换了,不过这样转换的是把数组值进行转换了。

[!--infotagslink--]

相关文章

  • 解决Mybatis 大数据量的批量insert问题

    这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • mybatis-plus 处理大数据插入太慢的解决

    这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
  • 使用insertAfter()方法在现有元素后添加一个新元素

    复制代码 代码如下: //在现有元素后添加一个新元素 function insertAfter(newElement, targetElement){ var parent = targetElement.parentNode; if (parent.lastChild == targetElement){ parent.appendChild(newEl...2014-05-31
  • Mysql在debian系统中不能插入中文的终极解决方案

    在debian环境下,彻底解决mysql无法插入和显示中文的问题Linux下Mysql插入中文显示乱码解决方案mysql -uroot -p 回车输入密码进入mysql查看状态如下:默认的是客户端和服务器都用了latin1,所以会乱码。解决方案:mysql>use...2013-10-04
  • Mysql中 unique列插入重复值该怎么解决呢

    当unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT、中断操作或者更新旧记录为新值。mysql> create table menus(id t...2015-11-08
  • 解决Mybatis中mapper.xml文件update,delete及insert返回值问题

    这篇文章主要介绍了解决Mybatis中mapper.xml文件update,delete及insert返回值问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-23
  • 分享MYSQL插入数据时忽略重复数据的方法

    使用下以两种方法时必须把字段设为”主键(PRIMARY KEY”或”唯一约束(UNIQUE)”。1:使用REPLACE INTO (此种方法是利用替换的方法,有点似类于先删除再插入) 复制代码 代码如下:REPLACE INTO Syntax REPLACE [LOW_PRIO...2013-10-04
  • c# 用Dictionary实现日志数据批量插入

    这篇文章主要介绍了c# 用Dictionary实现日志数据批量插入的步骤,帮助大家更好的理解和使用c#中的Dictionary类,感兴趣的朋友可以了解下...2021-02-01
  • java如何导出insert语句并生成sql脚本

    这篇文章主要介绍了java导出insert语句并生成sql脚本的实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-08
  • 解决mybatis使用foreach批量insert异常的问题

    这篇文章主要介绍了解决mybatis使用foreach批量insert异常的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • Asp.Net使用Bulk实现批量插入数据

    这篇文章主要介绍了Asp.Net使用Bulk实现批量插入数据的方法,对于进行asp.net数据库程序设计非常有借鉴价值,需要的朋友可以参考下...2021-09-22
  • MongoDB CRUD操作中的插入实例教程

    这篇文章主要给大家介绍了关于MongoDB CRUD操作中的插入的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MongoDB具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-12-08
  • C#对Word文档的创建、插入表格、设置样式等操作实例

    今天小编就为大家分享一篇C#对Word文档的创建、插入表格、设置样式等操作实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
  • Lua的table库函数insert、remove、concat、sort详细介绍

    这篇文章主要介绍了Lua的table库函数insert、remove、concat、sort详细介绍,本文分别给出了这几个函数的使用实例,需要的朋友可以参考下...2020-06-30
  • SQL insert into语句写法讲解

    这篇文章主要介绍了SQL insert into语句写法讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...2021-08-14
  • 解析Mybatis的insert方法返回数字-2147482646的解决

    这篇文章主要介绍了解析Mybatis的insert方法返回数字-2147482646的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-02
  • Python操控mysql批量插入数据的实现方法

    这篇文章主要介绍了Python操控mysql批量插入数据的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-27
  • mysql 选择B表数据插入到A表,同时在A表加一个字段的SQL

    mysql 选择B表数据插入到A表,同时在A表加一个字段的SQL...2013-09-23
  • mybatis使用oracle进行添加数据的方法

    这篇文章主要介绍了mybatis使用oracle进行添加数据的方法,本文给大家分享我的心得体会,需要的朋友可以参考下...2021-04-27
  • IE下select标签innerHTML插入option的BUG

    调用方法 addOption(sltObj, '<option>a</option>'); 代码如下 var sltObj=document.getElementById('xx');//获取select对象,这里只是给个例子,可以按自己习惯来获...2016-09-20