开发者社区> 问答> 正文

网页中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 4443 0
1 条回答
写回答
取消 提交回答
  • screenshot


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

    2019-07-17 19:58:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载