网页中PHP代码向sqlite数据库写数据时,“000...0”这样的字符串会被存储为0,求解原因?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

网页中PHP代码向sqlite数据库写数据时,“000...0”这样的字符串会被存储为0,求解原因?

如题,我用PHP向sqlite的一个表中写数据,包含用户名和密码两个字段,但是当字段值(用户名或密码)是类似“000...0”这样的值时,数据库中保存的字段值就只剩下一位0了。
PHP代码如下
<?php
$name=$_POST["username"];
$password=$_POST['password'];
echo gettype($password); //这句用来测试password是何种数据类型,经验证是string,可既然是字符串为何会遗失数据呢?
class MyDB extends SQLite3
{

function __construct()
{
    $this->open('survey.db');
}

}
$db = new MyDB();
if(!$db){

echo $db->lastErrorMsg();

} else {

echo "Opened database successfully\n";

}
$sql =<<

  INSERT INTO login (username,password)
  VALUES ($name,$password);

EOF;
$ret = $db->exec($sql);
if(!$ret){

echo $db->lastErrorMsg();

} else {

echo "Records created successfully

";
}
$db->close();
?>

展开
收起
a123456678 2016-07-19 14:33:56 3811 0
1 条回答
写回答
取消 提交回答
  • a123456678

    screenshot


    网页中PHP代码向sqlite数据库写数据时,“000...0”这样的字符串会被存储为0,
    screenshot

    2019-07-17 19:58:23
    赞同 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
PHP安全开发_从白帽角度做安全
立即下载
PHP在机器学习上的应用及云深度学习平台的架构设计与实现
立即下载
PHP与APM_技术内幕和最佳实践
立即下载