在php调用mysql时候遇到问题 想要创建一个名字为user的表,只有name和age两项,插入5组数据并echo出来, 在insert那里我想依次插入名字为chris1, chris2, chris3, chris4, chris5的名字 但是始终insert失败
代码:
$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
";
$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']."!!!
";
}
mysql_close($conn);
echo "$sql"."hohoo";
?>
PHP操作MySQL,insert语句无法执行,字符串求解~
答案:3 悬赏:0
解决时间 2021-11-28 16:25
- 提问者网友:枫涩帘淞幕雨
- 2021-11-28 11:49
最佳答案
- 二级知识专家网友:一池湖水
- 2021-11-28 12:43
你的问题在
$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可以不加也可以加
字符串型的一定要加
所以我通常都加!~
全部回答
- 1楼网友:野心和家
- 2021-11-28 14:07
$sql="insert into users values ($name, $i)";
补充一个: 你的insert语句有问题
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
- 2楼网友:承载所有颓废
- 2021-11-28 13:31
$sql="create table users(name varchar(50) not null, age int(3) not null)";
对于上面这一句,数据库不能这样创建呀。如果数据表本身存在,这是会出错的。
$sql="use haha";
mysql_query($sql);
对于上面的,既然mysql_select_db('haha'); 这里已经有了,就不要多此一举了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯