PHP操作MySQL,insert 语句无法执行,字符串求解~
在php调用mysql时候遇到问题想要创建一个名字为user的表,只有name和age两项,插入5组数据并echo出来,在insert那里我想依次插入名字为chris1,...
在php调用mysql时候遇到问题 想要创建一个名字为user的表,只有name和age两项,插入5组数据并echo出来, 在insert那里我想依次插入名字为chris1, chris2, chris3, chris4, chris5的名字 但是始终insert失败
代码:
<?php
$host='localhost';
$user_name='root';
$password='hey51fly';
$conn=mysql_connect($host, $user_name, $password);
if(!$conn){
die('failed to link to database:'.mysql_error());
}
$sql="create database haha";
mysql_query($sql);
mysql_select_db('haha');
$sql="create table users(name varchar(50) not null, age int(3) not null)";
mysql_query($sql);
$sql="use haha";
mysql_query($sql);
$oo="chris";
for($i=1; $i<=5; $i++){
//$name="chris".$i;
$name=$oo.$i;
echo "name=$name<br/>";
$age=$i+16;
$sql="insert into users values ($name, $i)";
mysql_query($sql);//------
}
$sql="select * from users";
$result=mysql_query($sql);
mysql_num_rows($result);
while($row=mysql_fetch_array($result)){
echo $row['name']."__".$row['age']."!!!<br/>";
}
mysql_close($conn);
echo "$sql"."hohoo";
?> 展开
代码:
<?php
$host='localhost';
$user_name='root';
$password='hey51fly';
$conn=mysql_connect($host, $user_name, $password);
if(!$conn){
die('failed to link to database:'.mysql_error());
}
$sql="create database haha";
mysql_query($sql);
mysql_select_db('haha');
$sql="create table users(name varchar(50) not null, age int(3) not null)";
mysql_query($sql);
$sql="use haha";
mysql_query($sql);
$oo="chris";
for($i=1; $i<=5; $i++){
//$name="chris".$i;
$name=$oo.$i;
echo "name=$name<br/>";
$age=$i+16;
$sql="insert into users values ($name, $i)";
mysql_query($sql);//------
}
$sql="select * from users";
$result=mysql_query($sql);
mysql_num_rows($result);
while($row=mysql_fetch_array($result)){
echo $row['name']."__".$row['age']."!!!<br/>";
}
mysql_close($conn);
echo "$sql"."hohoo";
?> 展开
展开全部
你的问题在
$sql="insert into users values ($name, $i)";
应该写成
$sql="insert into users values ('$name', '$i')";
或者
$sql="insert into users values ('".$name."', '".$i."')";
也就是要加上参数引号,$i可以不加也可以加
字符串型的一定要加
所以我通常都加!~
$sql="insert into users values ($name, $i)";
应该写成
$sql="insert into users values ('$name', '$i')";
或者
$sql="insert into users values ('".$name."', '".$i."')";
也就是要加上参数引号,$i可以不加也可以加
字符串型的一定要加
所以我通常都加!~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
TableDI
2024-07-18 广告
2024-07-18 广告
Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击93步自动完成vlookup匹配,无需手写公式,免费使用!...
点击进入详情页
本回答由TableDI提供
展开全部
$sql="create table users(name varchar(50) not null, age int(3) not null)";
对于上面这一句,数据库不能这样创建呀。如果数据表本身存在,这是会出错的。
$sql="use haha";
mysql_query($sql);
对于上面的,既然mysql_select_db('haha'); 这里已经有了,就不要多此一举了。
可能还有一些错误,就不一一列举了。你学习编程,首先应该看网上的教程,或买书学习完整的教程,然后再一步一步的来摸索。
对于上面这一句,数据库不能这样创建呀。如果数据表本身存在,这是会出错的。
$sql="use haha";
mysql_query($sql);
对于上面的,既然mysql_select_db('haha'); 这里已经有了,就不要多此一举了。
可能还有一些错误,就不一一列举了。你学习编程,首先应该看网上的教程,或买书学习完整的教程,然后再一步一步的来摸索。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$sql="insert into users values ($name, $i)";
补充一个: 你的insert语句有问题
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
补充一个: 你的insert语句有问题
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
追问
没有(列1,列2...)的话 默认按照表建立的顺序依次赋值的阿
追答
默认插入值的情况是因为你的数据表中相应字段设置有默认值
但是你这种状况 name 是不可能给默认值的 如果真这么设计 那你这问题拿出来就是撩人玩了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询