PHP从文件读取,但我在空白输入mysql
我想读取一个文件,然后我试图插入到MySQL表 我已经尝试了以下,我得到的TE文本,我显示文本从该文件,但当我试图插入数据库的行被创建,但我没有任何内部 任何帮助?PHP从文件读取,但我在空白输入mysql
这是我的代码
<?php
$file_handle = fopen("text.htm", "r");
while (!feof($file_handle)) {
$line = fgets($file_handle);
echo $line;
// make the DSN
$dsn = 'mysql:host=localhost;dbname=text;';
$user = 'text';
$password = 'text';
$name=$line;
}
try
{
$dbh = new PDO($dsn, $user, $password);
// set the error mode to exception
$dbh->setAttribute(PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION);
$sql = 'INSERT INTO text (db_text)
VALUES (:name)';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->execute();
}
catch (PDOException $e)
{
echo 'PDO Exception Caught. ';
echo 'Error with the database: <br />';
echo 'SQL Query: ', $sql;
echo 'Error: ' . $e->getMessage();
}
fclose($file_handle);
?>
我想你应该改变
$line = fgets($file_handle);
到
$line .= fgets($file_handle);
while循环中。
此外,实例$line
与while循环之前某处$line = "";
;
fgets
上次可能会返回false
(或空行或某物)。
不工作的队友。使得它变得最糟糕,而$ line =“”; –
'。='是一个连接运算符。情况如何更糟?字符串甚至现在更空empty_? :s – Halcyon
不,浏览器冻结导致它读取文件的一部分,并使循环读取多一点,多一点等等等 –
尝试,而之前宣布$名字......它可能是一个范围问题....
$name = "";
$file_handle = fopen("text.htm", "r");
while (!feof($file_handle)) {
$line = fgets($file_handle);
echo $line;
// make the DSN
$dsn = 'mysql:host=localhost;dbname=text;';
$user = 'text';
$password = 'text';
$name=$line;
}
什么也没有发生,但如果我删除第一个}并把它放在最后的数据插入我的分贝,但为我的文本中的每一行我有一个新的输入在我的分贝,所以我现在有80行 –
调试101:'的var_dump($名)之前'$ stmt-'右> bindParam(” :name',$ name);'。 –