insert函数需要注意的地方

function insert($table,$arr){

//使用implode拆分字符串
            **$str = "`".implode(‘`,`‘, array_keys($arr))."`";  //注意标点符号的运用**
            //现在数组键名变为 ‘0‘=>‘user‘

            foreach ($arr as $val) {
                //遍历数组键值,写入数据库是‘$user‘;
                $val = "‘".$val."‘";
            }
            **$arr = "‘".implode("‘,‘", $arr)."‘";//注意标点符号的运用**
            print_r($arr);
            $sql ="INSERT into `{$table}`({$str})VALUES({$arr})";
            // print_r( "insert into `{$table}`($str)VALUES({$arr})");
            $query = mysql_query($sql);
            if($query){
                echo "录入成功";
            }else{
                echo "录入失败".mysql_error();
            }

         }
时间: 2024-08-26 23:29:09

insert函数需要注意的地方的相关文章

mongodb的save和insert函数的区别

mongodb的save和insert函数都可以向collection里插入数据,但两者是有两个区别: 一.使用save函数里,如果原来的对象不存在,那他们都可以向collection里插入数据,如果已经存在,save会调用update更新里面的记录,而insert则会忽略操作 二.insert可以一次性插入一个列表,而不用遍历,效率高, save则需要遍历列表,一个个插入. 看下这两个函数的原型就清楚了,直接输入函数名便可以查看原型,下面标红的部分就是实现了循环,对于远程调用来说,是一性次将整

单链表的PushBack,PopBack,Insert...函数

单链表的熟悉使用,注意测试用例的全面 //使用引用的作用等同于使用二级指针,在传递指针时 //传引用是可能改变Link,而有的函数只需改变->next,此时不需传引用 #include<stdio.h> #include<malloc.h> #include<stdlib.h> #include<assert.h> typedef int  DataType; typedef struct LinkNode { DataType  _data;//节点

php 数据库insert函数

<?php function into($constr) { $con = mysql_connect("localhost","root","root"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("sa", $con); mysql_query($constr); mysql_close($con); } /

golang http.Redirect()函数容易误解的地方

调用http.Redirect()函数后,并不会立刻进行跳转,而是继续顺序执行函数中的所有的代码后,再进行跳转.但是Redirect后面的写界面的代码不会发送到游览器前端的. 代码如下:func Chat(w http.ResponseWriter, r *http.Request) { fmt.Println("Chat") r.ParseForm() withWho := r.Form.Get("withWho") type ToWho struct { Nam

Javascript日期函数使用需要注意地方

当我们需要获取未来某个时间的毫秒数时,可能第一时间想到的方法是 (new Date("2014-12-08 12:00:00")).getTime() 这个在方法在chrome下是会返回一个数字的. 但是在IE下返回的是一个NaN,是因为IE下认为 YYYY-mm-dd HH:ii:ss不是一个合理的日期格式 不过它倒是可以接受 YYYY-mm-dd这种格式 为了通用兼容,我们可以针对 YYYY-mm-dd HH:ii:ss 这种格式可以将每个单位的值分解,使用setXXXX方法来获得

mysql, count函数容易曲解的地方

统计count(*), 数量为9行; 统计count(abandonAddTime), 数量为8; 统计count(abandonUserName), 数量为9行; count(), 不能统计null值

一步一步写算法(之循环单向链表)

原文:一步一步写算法(之循环单向链表) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 前面的博客中,我们曾经有一篇专门讲到单向链表的内容.那么今天讨论的链表和上次讨论的链表有什么不同呢?重点就在这个"循环"上面.有了循环,意味着我们可以从任何一个链表节点开始工作,可以把root定在任何链表节点上面,可以从任意一个链表节点访问数据,这就是循环的优势. 那么在实现过程中,循环单向链表有什么不同? 1)打印链表数据 void pri

数据结构学习之链表(单向、单循环以及双向)(递归实现)

1.链表优点 相比较普通的线性结构,链表结构的优势是什么呢?我们可以总结一下: (1)单个节点创建非常方便,普通的线性内存通常在创建的时候就需要设定数据的大小 (2)节点的删除非常方便,不需要像线性结构那样移动剩下的数据 (3)节点的访问方便,可以通过循环或者递归的方法访问到任意数据,但是平均的访问效率低于线性表 那么在实际应用中,链表是怎么设计的呢?我们可以以int数据类型作为基础,设计一个简单的int链表: 2.单向链表 (1)设计链表的数据结构 typedef struct _LINK_N

01-(2)数据结构- 一步一步写算法(之循环单向链表)

前面的博客中,我们曾经有一篇专门讲到单向链表的内容.那么今天讨论的链表和上次讨论的链表有什么不同呢?重点就在这个"循环"上面.有了循环,意味着我们可以从任何一个链表节点开始工作,可以把root定在任何链表节点上面,可以从任意一个链表节点访问数据,这就是循环的优势. 那么在实现过程中,循环单向链表有什么不同? 1)打印链表数据 [cpp] view plain copy void print_data(const LINK_NODE* pLinkNode) { LINK_NODE* pI