首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用PHP将已定义的变量INSERT到MySQL DB /表中,没有数据(显然)被写入DB?

这个问题涉及到使用PHP将变量插入到MySQL数据库中的问题。为了解决这个问题,我们需要考虑以下几个方面:

  1. 数据库连接:首先,确保已经建立了正确的数据库连接。可以使用以下代码来建立连接:
代码语言:php
复制
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
  1. 变量定义:确保已经定义了要插入到数据库中的变量。例如,如果要插入名字和年龄,可以这样定义:
代码语言:php
复制
$name = "John";
$age = 30;
  1. 插入数据:使用INSERT语句将变量插入到数据库中。例如,如果要将名字和年龄插入到名为"users"的表中,可以这样做:
代码语言:php
复制
$sql = "INSERT INTO users (name, age) VALUES ('$name', '$age')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
  1. 关闭连接:最后,记得关闭数据库连接:
代码语言:php
复制
$conn->close();

如果数据仍然没有写入数据库,可能是以下原因之一:

  • 数据库连接失败:检查数据库连接参数是否正确,确保数据库服务器正在运行。
  • 变量未定义或定义错误:检查变量是否已经正确定义,确保变量名称与表结构相匹配。
  • SQL语句错误:检查SQL语句是否正确,确保表名和字段名称正确。
  • 数据库权限问题:确保数据库用户具有足够的权限来执行插入操作。

如果问题仍然存在,请提供更多详细信息,以便更好地了解问题所在。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Mysql详细学习笔记

然后,看看 mysql数据库里面有什么内容(和查看当前数据库服务器数据库一样使用 show 语句) 查看数据库中的表 进入到库后我们可以看这个库里面有多少个数据表。...你还可以使用阿里巴巴和网易开源出来的MySQL引擎在自己的服务器中使用。 大家在后面的一节《数据库结构定义语句》中可以学到创建表的语句。mysql在创建表的时候,可以指定对应的引擎。...不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行。表越大,花费的时间越多。如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要看所有数据。...为大家举一些例子: 要注册一个用户,是将表单的数据POST发送给PHP写入数据库 购买一个商品,是将商品信息和用户信息通过PHP写入到数据库 在线付费,是将用户的充值信息通过PHP写入数据库 修改头像上传的头像地址得到后...我们可以把POST记录处理后写入到MySQL数据库中,即完成了用户注。

4.7K40
  • Qt中操作SQLite数据库

    * 我喜欢那样的梦 * 在梦里 一切都可以重新开始 * 一切都可以慢慢解释 * 心里甚至还能感觉到所有被浪费的时光 * 竟然都能重回时的狂喜和感激 * ... ......它可以被用来执行DML(数据操纵语言)语句,例如select、insert、update、delete,以及DDL(数据定义语言)语句,如create table,还可以用于执行非标准SQL的特定于数据库的命令...4.执行增删改查 执行了上面的操作且数据库已open,就能使用QSqlQuery的exec方法来完成增删改查了。...(age)); //方式二,绑定值,待定变量默认用问号占位,注意字符串也没有引号 /*query.prepare(R"(INSERT INTO my_table(name,age) VALUES...SQLite 默认是以多线程读写模式打开,如果同时写入就会出现写入错误: 可以将写操作上锁,但是实测线程中循环写入时,只读打开去查询也是会阻塞很久,毫秒到几秒不等,这时候就得把超时设置长一点。

    2.1K30

    php+mysql动态网站开发案例课堂_用php写一个网页页面

    MySQL 基础 使用 MySQL 数据库是存储数据的一种方法,MySQL 需要和 PHP 配合来完成对数据库的查询(这里术语“查询”包括写入、更新、读取等)操作。...为了高效,一般会采取分类维护多个表的方式,而不是把所有数据都储存在同一个表中。 MySQL 需要服务器支持。...首先 3~6 行为 PHP 中的 define 语句,作用很明显,把 DB_HOST 定义为 localhost,下面的代码中就可以使用 DB_HOST 来代替 localhost。...这里只设定了两个字段的数值(表中还可以有其他字段;没有显式说明的字段则留空或者使用数据表指定的默认值)。...但是,如果你觉得到处使用这个函数太麻烦了,可以省略 isset() 函数而直接使用这个元素,只不过如果它没有被设置的话会返回一个 notice 错误信息(类似于 C/C++ 中的变量未声明)。

    8.7K20

    PHP实现一款简单的密码管理工具

    该文档详细描述了实现一个简单的密码管理工具的过程,工具基于PHP和MySQL构建,支持多用户、密码存储、管理以及角色权限控制等核心功能。...系统架构设计技术栈:PHP(后端逻辑)、MySQL(数据存储)、Bootstrap(前端样式)数据存储:用户表(users)和密码表(passwords)存储用户的基本信息和其管理的密码信息,包含外键关联实现级联删除...>在 install.php 文件中,定义了数据库连接及初始化代码,接受表单输入并写入配置文件 config.php,用于后续的数据库访问。...登录页面login.php验证用户身份并开启会话,将用户ID和角色写入会话变量,以便后续操作中使用。用户登录 (login.php)数据存储在 passwords 表中。

    11910

    【WEB安全】PHPMyAdmin后台GetShell姿势总结

    当我们通过其它各类手段获取到MySQL账户和密码,可以成功登录到phpMyAdmin的后台时,可以通过以下几种方式将webshell写入到目标机器中。...本地环境: 虚拟机windows7、php5.6.9、phpMyAdmin4.8.0 数据库文件导出写入 当数据库服务开启了文件导入导出功能时,使用select into outfile语句将webshell...>'INTO OUTFILE 'D:/xxx/WWW/shell.php' 当然也可以将webshell写入到表中的字段,通过将表导出为php文件来实现写入webshell。...将数据库全局日志保存为web目录下的php文件来实现webshell写入。...fixall_pmadb=1&db=test3 因为包含文件的参数来自pma__column_info表中的input_transformation对应的值。执行下面的sql语句向表中插入数据。

    85110

    一千行 MySQL 详细学习笔记

    主表数据被更新(主键值更新),从表的外键被设置为null。主表记录被删除,从表相关记录外键被设置成null。但注意,要求该外键列,没有not null属性约束。...- 注意:在函数内是可以使用全局变量(用户自定义的变量) --// 全局变量 ---------- -- 定义、赋值 set 语句可以定义并为变量赋值。...数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host GRANT ALL ON db_name.*和REVOKE ALL ON db_name....表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name...列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv 当使用REVOKE时,您必须指定与被授权列相同的列。

    2.4K20

    MySQL 学习笔记

    主表数据被更新(主键值更新),从表的外键被设置为null。主表记录被删除,从表相关记录外键被设置成null。但注意,要求该外键列,没有not null属性约束。...- 注意:在函数内是可以使用全局变量(用户自定义的变量) --// 全局变量 ---------- -- 定义、赋值 set 语句可以定义并为变量赋值。...数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host GRANT ALL ON db_name.*和REVOKE ALL ON db_name....表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name...列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv 当使用REVOKE时,您必须指定与被授权列相同的列。

    1.8K10

    Mysql高可用高性能存储应用系列2 - 深入理解锁和Mvcc

    概述Mysql数据库在处理并发中下了很多功夫,锁是为了更好的保护数据的正确和可靠,Mvcc是维持一个数据的多个版本,使得读写操作没有冲突的解决并发的数据库方案。...全局锁全局锁就是对整个数据库实例加锁,当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句...) VALUES ("学习 PHP", "菜鸟教程", NOW());Query OK, 1 row affected (0.03 sec)表级锁MySQL 里面表级别的锁有两种:一种是表锁,一种是元数据锁...每行记录除了我们自定义的字段外,还有数据库隐式定义的DB_TRX_ID,DB_ROLL_PTR,DB_ROW_ID等字段。...Mysql ( Innodb引擎 ) 保证数据的一致性图片1.执行更新语句update table set a= 1 where id = 22.将id=2 的行上的列值改为13.将修改更新到内存中4.

    41531

    一千行 MySQL 详细学习笔记(值得学习与收藏)

    主表数据被更新(主键值更新),从表的外键被设置为null。主表记录被删除,从表相关记录外键被设置成null。但注意,要求该外键列,没有not null属性约束。...- 注意:在函数内是可以使用全局变量(用户自定义的变量) --// 全局变量 ---------- -- 定义、赋值 set 语句可以定义并为变量赋值。...数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host GRANT ALL ON db_name.*和REVOKE ALL ON db_name....表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name...列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv 当使用REVOKE时,您必须指定与被授权列相同的列。

    2.8K20

    1000行 MySQL 学习笔记,不怕你不会,就怕你不学!

    主表数据被更新(主键值更新),从表的外键被设置为null。主表记录被删除,从表相关记录外键被设置成null。但注意,要求该外键列,没有not null属性约束。...- 注意:在函数内是可以使用全局变量(用户自定义的变量) --// 全局变量 ---------- -- 定义、赋值 set 语句可以定义并为变量赋值。...数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host GRANT ALL ON db_name.*和REVOKE ALL ON db_name....表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name...列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv 当使用REVOKE时,您必须指定与被授权列相同的列。

    1.7K40

    牛逼的 MySQL 学习笔记

    主表数据被更新(主键值更新),从表的外键被设置为null。主表记录被删除,从表相关记录外键被设置成null。但注意,要求该外键列,没有not null属性约束。...- 注意:在函数内是可以使用全局变量(用户自定义的变量) --// 全局变量 ---------- -- 定义、赋值 set 语句可以定义并为变量赋值。...数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host GRANT ALL ON db_name.*和REVOKE ALL ON db_name....表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name...列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv 当使用REVOKE时,您必须指定与被授权列相同的列。

    2.1K31

    MySQL 详细学习笔记

    主表数据被更新(主键值更新),从表的外键被设置为null。主表记录被删除,从表相关记录外键被设置成null。但注意,要求该外键列,没有not null属性约束。...- 注意:在函数内是可以使用全局变量(用户自定义的变量) --// 全局变量 ---------- -- 定义、赋值 set 语句可以定义并为变量赋值。...数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host GRANT ALL ON db_name.*和REVOKE ALL ON db_name....表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name...列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv 当使用REVOKE时,您必须指定与被授权列相同的列。

    1.5K50

    一千行 MySQL 详细学习笔记

    主表数据被更新(主键值更新),从表的外键被设置为null。主表记录被删除,从表相关记录外键被设置成null。但注意,要求该外键列,没有not null属性约束。...- 注意:在函数内是可以使用全局变量(用户自定义的变量) --// 全局变量 ---------- -- 定义、赋值 set 语句可以定义并为变量赋值。...数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host GRANT ALL ON db_name.*和REVOKE ALL ON db_name....表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name...列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv 当使用REVOKE时,您必须指定与被授权列相同的列。

    2.6K30

    1000行 MySQL 学习笔记,不怕你不会,就怕你不学!

    主表数据被更新(主键值更新),从表的外键被设置为null。主表记录被删除,从表相关记录外键被设置成null。但注意,要求该外键列,没有not null属性约束。...- 注意:在函数内是可以使用全局变量(用户自定义的变量) --// 全局变量 ---------- -- 定义、赋值 set 语句可以定义并为变量赋值。...数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host GRANT ALL ON db_name.*和REVOKE ALL ON db_name....表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name...列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv 当使用REVOKE时,您必须指定与被授权列相同的列。

    1.5K10

    【收藏】一千行 MySQL 学习笔记

    主表数据被更新(主键值更新),从表的外键被设置为null。主表记录被删除,从表相关记录外键被设置成null。但注意,要求该外键列,没有not null属性约束。...- 注意:在函数内是可以使用全局变量(用户自定义的变量) --// 全局变量 ---------- -- 定义、赋值 set 语句可以定义并为变量赋值。...数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host GRANT ALL ON db_name.*和REVOKE ALL ON db_name....表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name...列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv 当使用REVOKE时,您必须指定与被授权列相同的列。

    2K20

    MySQL中show语法

    如果一个用户没有一个表的任何权限,表将不在SHOW TABLES或mysqlshow db_name中的输出中显示 大家可能还记得describe table_name ,它实现的是与show columns... 表被创造的时间 Update_time 数据文件最后更新的时间 Check_time 最后对表运行一个检查的时间 Create_options 与CREATE TABLE一起使用的额外选项 Comment... 当创造表时,使用的注释 (或为什么MySQL不能存取表信息的一些信息)。...Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。 Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。...Key_reads 从磁盘物理读入一个键值的次数。 Key_write_requests 请求将一个关键字块写入缓存次数。 Key_writes 将一个键值块物理写入磁盘的次数。

    84320

    MySQL 常用语句(值得收藏)

    主表数据被更新(主键值更新),从表的外键被设置为null。主表记录被删除,从表相关记录外键被设置成null。但注意,要求该外键列,没有not null属性约束。...- 注意:在函数内是可以使用全局变量(用户自定义的变量) --// 全局变量 ---------- -- 定义、赋值 set 语句可以定义并为变量赋值。...数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host GRANT ALL ON db_name.*和REVOKE ALL ON db_name....表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name...列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv 当使用REVOKE时,您必须指定与被授权列相同的列。

    1.6K40

    考前复习必备MySQL数据库(关系型数据库管理系统)

    MySQL是一种关系型数据库管理系统,关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样增加了速度和提高了灵活性。...应用环境 和其他的大型数据库例如Oracle,DB2,SQL Server等相比,MySQL也有自己的不足,但是这也没有减少它受欢迎的程度,对于一般的个人使用者和中小型企业来说,MySQL提供的功能是绰绰有余...InnoDB 数据表的索引 限制 索引类别 普通索引,普通索引(由关键字 KEY 或 INDEX 定义的索引)的任务是加快对数据的访问速度。 索引,普通索引允许被索引的数据列包含重复的值。...> 使用PHP脚本选择MySQL数据库 使用函数mysqli_select_db来获取一个数据库 语法: mysqli_select_db(connection,dbname); 示例: mysqli_select_db...事务中已执行成功的语句结果应该回退至未执行状态,称为事务回滚。

    6K10
    领券