phpincrement
⑴ php的疑问 请问已经设置auto_increment,ID为何不自加1
你不能这样写呀 ,你这样写意思是给id插入一个空值,当然报错了。
INSERT INTO persons(iname,subject,message,contact,lasttime)VALUES ('$_POST[name]','$_POST[subject]','$_POST[message]','$_POST[contact]',now())
去掉id就可以了 ,它自己会自增的
⑵ php循环结构的怎么使用的实例详解
php的循环共有四种:while、do while、for、foreach。
while循环:
while(条件为真){
要执行的代码;
}
do while循环:
do{
要执行的代码;
}while(条件为真);
这两种循环的区别在于,while循环先判断条件后执行操作,而do while先执行一次操作后判断条件。
for循环:
for(initcounter;testcounter;incrementcounter){
要执行的代码;
}
/*
initcounter:初始化循环计数器的值
testcounter::评估每个循环迭代。如果值为TRUE,继续循环。如果它的值为FALSE,循环结束。
incrementcounter:增加循环计数器的值
*/
例如
for($i=0;$i<=10;$i++){
echo"$i";
}
这个例子表示设定一个$i,其值为0,每次循环后$i加1,当$i<=10的条件为真是循环执行。这个循环结果就是显示了0到10的所有整数。
foreach循环:
foreach循环只能用于遍历数组array。
foreach($arrayas$value){
要执行的代码,通常$value会在这里使用;
}
/*
$array为数组本身
$value为数组中的值,这里的$value不是数组,每次循环其值都会重写
*/
例如
$colors=array("red","green","blue","yellow");
foreach($colorsas$value){
echo$value."/";
}
//结果为:red/green/blue/yellow/
每次循环都会将数组中的值依次写入$value中,直到数组全部被遍历完成后循环结束。
⑶ php如何实现访问统计
两种方式:
第一:使用一个文本文档
每次读取这个文本文档的数,然后加1,再覆盖写入
关键代码:
<?php
$txt_db='jsb.txt';
$nums=file_get_contents($txt_db);
$nums++;
file_put_contents($txt_db,$nums);
?>
第二:使用数据库,设计数据表,每次更新数据库。
个人建议:使用第一种方法。
原因:需求简单,所以尽可能少占资源,抗压力强。
⑷ 重新研究这个问题:php无限分类的子分类如何再排序
SELECTid,DishCategory_Path,DishCategory_Name,DishCategory_Sort,concat(DishCategory_Path,'-',id)asfullpathFROMchi_categoryorderbyDishCategory_Sort,fullpath
先排序DishCategory_Sort是否可以?
⑸ php mysql 查询表中AUTO_INCREMENT字段名称
desc 表名 ;
然后循环取字段名和属性,判断哪个是主键 Key=='PRI'为主键
mysql> desc cdb_videos;
+--------------+-----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-----------------------+------+-----+---------+-------+
| vid | varchar(16) | NO | PRI | | |
| uid | mediumint(8) unsigned | NO | | 0 | |
| dateline | int(10) unsigned | NO | MUL | 0 | |
| displayorder | tinyint(3) | NO | MUL | 0 | |
| tid | mediumint(8) unsigned | NO | | 0 | |
| pid | int(10) unsigned | NO | | 0 | |
| vtype | tinyint(1) unsigned | NO | | 0 | |
| vview | mediumint(8) unsigned | NO | | 0 | |
| vtime | smallint(6) unsigned | NO | | 0 | |
| visup | tinyint(1) unsigned | NO | | 0 | |
| vthumb | varchar(128) | NO | | | |
| vtitle | varchar(64) | NO | | | |
| vclass | varchar(32) | NO | | | |
| vautoplay | tinyint(1) | NO | | 0 | |
+--------------+-----------------------+------+-----+---------+-------+
⑹ PHP的循环语句是什么
在我们编写代码时,经常需要反复运行同一代码块。
我们可以使用循环来执行这样的任务,而不是在脚本中添加若干几乎相等的代码行。
在 PHP 中,有以下循环语句:
while- 只要指定条件为真,则循环代码块
do...while- 先执行一次代码块,然后只要指定条件为真则重复循环
for- 循环代码块指定次数
foreach- 遍历数组中的每个元素并循环代码块
PHP while 循环
只要指定的条件为真,while 循环就会执行代码块。
语法
while (条件为真) {
要执行的代码;
}
下例首先把变量 $x 设置为 1($x=1)。然后执行 while 循环,只要 $x 小于或等于 5。循环每运行一次,$x 将递增 1:
实例
<?php
$x=1;
while($x<=5) {
echo "这个数字是:$x <br>";
$x++;
}
?>
PHP do...while 循环
do...while 循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。
语法
do {
要执行的代码;
} while (条件为真);
下面的例子首先把变量 $x 设置为 1($x=1)。然后,do while 循环输出一段字符串,然后对变量 $x 递增 1。随后对条件进行检查($x 是否小于或等于 5)。只要 $x 小于或等于 5,循环将会继续运行:
实例
<?php
$x=1;
do {
echo "这个数字是:$x <br>";
$x++;
} while ($x<=5);
?>
请注意,do while 循环只在执行循环内的语句之后才对条件进行测试。这意味着 do while 循环至少会执行一次语句,即使条件测试在第一次就失败了。
下面的例子把 $x 设置为 6,然后运行循环,随后对条件进行检查:
<?php
$x=6;
do {
echo "这个数字是:$x <br>";
$x++;
} while ($x<=5);
?>
PHP for 循环
如果您已经提前确定脚本运行的次数,可以使用 for 循环。
语法
for (init counter; test counter; increment counter) {
code to be executed;
}
参数:
init counter:初始化循环计数器的值
test counter:: 评估每个循环迭代。如果值为 TRUE,继续循环。如果它的值为 FALSE,循环结束。
increment counter:增加循环计数器的值
下面的例子显示了从 0 到 10 的数字:
实例
<?php
for ($x=0; $x<=10; $x++) {
echo "数字是:$x <br>";
}
?>
PHP foreach 循环
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
语法
foreach ($array as $value) {
code to be executed;
}
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
下面的例子演示的循环将输出给定数组($colors)的值:
实例
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
⑺ php 如何执行字符串中的函数
mixed call_user_func
( callable $callback
[, mixed $parameter
[, mixed $...
]] )
把第一个参数作为回调函数(callback),并且将其余的参数作为回调函数的参数。
error_reporting(E_ALL);
functionincrement(&$var)
{
$var++;
}
$a=0;
call_user_func('increment',$a);
echo$a." ";
call_user_func_array('increment',array(&$a));//.3
echo$a." ";
后面可以跟多个参数!
⑻ php + mysql 如何在 批量INSERT 后得到 AUTO_INCREMENT 字段的 ID呢
1、锁表,插入5条,SELECT 倒序 LIMIT 5 ,解锁
2、将插入5条,预留自增ID,插入5条,取ID范围值
⑼ php插入mysql数据库怎么id自增,求前后台代码
2种办法
1.修改你的数据库表,将ID设为自增长,注:只有主键才可以设置为自增长
id自增是由mysql负责的,设置id AUTO_INCREMENT 插入时不用插入id值就能实现自增CREATE TABLE `table ` (`id` INT(8) NOT NULL AUTO_INCREMENT, PRIMARY KEY(`id`));
2.代码中进行处理
Statement ps;
ResultSet rs;
int id = 0;
..................
String sql="select max(id) as id from message";
rs = ps.executeQuery(sql);//查询出最大ID
if(rs.next){//如果有ID,原有ID+1
id = rs.getInt("id")+1;
}else{//否则 ID 初始为0
id = 0;
}
//下面接你写的代码就OK了
PreparedStatement ps;
String sql="insert message (id,name,msg) value(?,?,?)"
ps.setString(1,id);
ps.setString(2,name);
ps.setString(3,msg);
⑽ PHP里如何获取函数的调用者名称
先放上来别人的例子吧:
call_user_func函数类似于一种特别的调用函数的方法,使用方法如下:
复制代码 代码如下:
function a($b,$c)
{
echo $b;
echo $c;
}
call_user_func('a', "111","222");
call_user_func('a', "333","444");
//显示 111 222 333 444
?>
调用类内部的方法比较奇怪,居然用的是array,不知道开发者是如何考虑的,当然省去了new,也是满有新意的:
复制代码 代码如下:
class a {
function b($c)
{
echo $c;
}
}
call_user_func(array("a", "b"),"111");
//显示 111
?>
call_user_func_array函数和call_user_func很相似,只不过是换了一种方式传递了参数,让参数的结构更清晰:
复制代码 代码如下:
function a($b, $c)
{
echo $b;
echo $c;
}
call_user_func_array('a', array("111", "222"));
//显示 111 222
?>
call_user_func_array函数也可以调用类内部的方法的
复制代码 代码如下:
Class ClassA
{
function bc($b, $c) {
$bc = $b + $c;
echo $bc;
}
}
call_user_func_array(array('ClassA','bc'), array("111", "222"));
//显示 333
?>
call_user_func函数和call_user_func_array函数都支持引用,这让他们和普通的函数调用更趋于功能一致:
复制代码 代码如下:
function a($b)
{
$b++;
}
$c = 0;
call_user_func('a', $c);
echo $c;//显示 1
call_user_func_array('a', array($c));
echo $c;//显示 2
另:call_user_func函数和call_user_func_array函数都支持引用。
复制代码 代码如下:
<?php
function increment(&$var)
{
$var++;
}
$a = 0;
call_user_func('increment', $a);
echo $a; // 0
call_user_func_array('increment', array(&$a)); // You can use this instead
echo $a; // 1
?>