本文目录一览:
- 1、我写了一个thinkphp提交表单的操作,但是总也写入不进数据库,是怎么回事呢?
- 2、ThinkPHP中连接不上数据库是什么原因
- 3、thinkphp 插入数据库记录不成功,有谁能指教下
- 4、thinkphp3.2.3怎么插入数据库
我写了一个thinkphp提交表单的操作,但是总也写入不进数据库,是怎么回事呢?
这种情况你应该去检测一下你的conf里面的配置文件是否正确,第一就是数据库链接信息,第二就是db_prefix 这个配置,这个配置是数据库前缀名,默认是'tp_'把。你好好看看,如果不会继续追问我
ThinkPHP中连接不上数据库是什么原因
你不贴代码,看不出来,ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。目前的数据库包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括对PDO的支持。
下面是全局定义方式:
'DB_TYPE' = 'mysql',
'DB_HOST' = 'localhost', // 服务器地址
'DB_NAME' = 'thinkphp', // 数据库名
'DB_USER' = 'root', // 用户名
'DB_PWD' = '123456', // 密码
'DB_PORT' = 3306, // 端口
'DB_PREFIX' = 'think_', // 数据库表前缀
'DB_CHARSET'= 'utf8', // 字符集'
‘DB_DEBUG' = TRUE, // 数据库调试模式
DB_DSN方式
'DB_DSN' = 'mysql://root:123456@localhost:3306/thinkphp#utf8'
如果采用PDO驱动的话:
'DB_TYPE' = 'pdo', // 数据库类型
'DB_USER' = 'root', // 用户名
'DB_PWD' = '', // 密码
'DB_PREFIX' = 'think_', // 数据库表前缀
'DB_DSN' = 'mysql:host=localhost;dbname=thinkphp;charset=utf8'
仅供参考,对比下自己的代码!
thinkphp 插入数据库记录不成功,有谁能指教下
你打印一下:
echo $myartist-getlastsql();
把sql语句打印出来,然后复制一下,去数据库执行,看看是不是sql语句哪里出错了。
thinkphp3.2.3怎么插入数据库
ThinkPHP的数据写入操作使用add方法,使用示例如下:
$User = M("User"); // 实例化User对象
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User-add($data);
如果是Mysql数据库的话,还可以支持在数据插入时允许更新操作:
add($data='',$options=array(),$replace=false)
其中add方法增加$replace参数(是否添加数据时允许覆盖),true表示覆盖,默认为false
或者使用data方法连贯操作
$User = M("User"); // 实例化User对象
$User-data($data)-add();
如果在add之前已经创建数据对象的话(例如使用了create或者data方法),add方法就不需要再传入数据了。 使用create方法的例子:
$User = M("User"); // 实例化User对象
// 根据表单提交的POST数据创建数据对象
if($User-create()){
$result = $User-add(); // 写入数据到数据库
if($result){
// 如果主键是自动增长型 成功后返回值就是最新插入的值
$insertId = $result;
}
}
更多问题可以去php中文网问答社区提问,大神在线帮你解决,希望对你有帮助