gpt4 book ai didi

php - 从数据库中获取条目,并使用PHP中的Spreadsheet Excel writer将其添加到新的Excel文件中不起作用,为什么?

转载 作者:行者123 更新时间:2023-11-29 11:53:33 26 4
gpt4 key购买 nike

我承认大约4-5个小时前就已经问过这个问题,但是由于没有得到答复,我删除了它,然后再次询问希望有人现在可以帮助我...我希望这可以...谢谢! :)

我有个问题;我可以从数据库中获得一个条目,也可以使用电子表格excel编写器创建excel文件,但显然不能同时使用这两种方法。这里是我获取数据库元素的脚本:

<?php

require ('config123.php');


$sql = "SELECT name FROM table WHERE id=1";
$query = mysqli_query($db_123, $sql);
$row = mysqli_fetch_assoc($query);


echo $row['name'];

?>


这很好用;另外,创建带有某些条目的excel文件是没有问题的:

<?php

require_once 'Spreadsheet/Excel/Writer.php';
$excelfile = new Spreadsheet_Excel_Writer();

$excelfile->send('excelfile.xls');

$worksheet =& $excelfile->addWorksheet('Tabelle 1');


$worksheet->write(1, 1, 'blub');

$excelfile->close();

?>


我可以打开excel文件,一切正常。但是,一旦我尝试将其结合起来,它就不再可行:

require ('config123.php');
require_once 'Spreadsheet/Excel/Writer.php';
$excelfile = new Spreadsheet_Excel_Writer();

$excelfile->send('excelfile.xls');

$worksheet =& $excelfile->addWorksheet('Tabelle 1');


$sql = "SELECT name FROM table WHERE id=1";
$query = mysqli_query($db_123, $sql);
$row = mysqli_fetch_assoc($query);

$worksheet->write(1, 1, 'blub'); // notice that I don't even write the value from the database in it but just a word and it still doesn't work

$excelfile->close();

?>


更精确地说,它从两个必需选项中解决了问题。尽管我不知道如何,但那些必须以某种方式相互冲突。正在创建excel文档,但是excel无法再打开它,并且里面充满了许多错误消息;
我已经在config123.php文件中更改了名称,希望只有2个具有相同名称的易变名称,但是不幸的是,它没有帮助;
这是我的config123.php的样子:

<?php

error_reporting(E_ALL);

define ( 'MYSQL_HOST', 'localhost' );

define ( 'MYSQL_BENUTZER', 'root' );
define ( 'MYSQL_KENNWORT', '' );

define ( 'MYSQL_DATENBANK', 'database' );

$db_123 = mysqli_connect (
MYSQL_HOST,
MYSQL_BENUTZER,
MYSQL_KENNWORT,
MYSQL_DATENBANK
);

if ($db_123 === False) {
die("<p> Es konnte keine Verbindung mit der Datenbank hergestellt
werden </p>");
}


?>


我无法在通常只想在其中写'blub'的地方正常打开excel文件,但是我可以使用普通的Windows编辑器打开该文件并获取此文件(可能会有帮助):


不建议使用:假定第575行的C:\ xampp \ php \ pear \ Spreadsheet \ Excel \ Writer \ Workbook.php中的不兼容上下文中的$ this,不应静态调用非静态方法OLE :: Asc2Ucs()

不建议使用:非静态方法System :: tmpdir()不应被静态调用,假设第50行的C:\ xampp \ php \ pear \ OLE \ PPS \ File.php中的不兼容上下文中的$ this

不建议使用:非静态方法System :: tmpdir()不应被静态调用,假设第56行的C:\ xampp \ php \ pear \ OLE \ PPS \ Root.php中的不兼容上下文中的$ this

不建议使用:假定第59行来自C:\ xampp \ php \ pear \ OLE \ PPS \ Root.php中不兼容的上下文中的$ this,则不应静态调用非静态方法OLE :: Asc2Ucs()

不建议使用:假定第190行的C:\ xampp \ php \ pear \ OLE \ PPS.php中的不兼容上下文中的$ this,不应静态调用非静态方法OLE :: LocalDate2OLE()

不推荐使用:假定第191行的C:\ xampp \ php \ pear \ OLE \ PPS.php中的不兼容上下文中的$ this,不应静态调用非静态方法OLE :: LocalDate2OLE()

不建议使用:假定第190行的C:\ xampp \ php \ pear \ OLE \ PPS.php中的不兼容上下文中的$ this,不应静态调用非静态方法OLE :: LocalDate2OLE()

不建议使用:假设第191行的C:\ xampp \ php \ pear \ OLE \ PPS.php中的不兼容上下文中的$ this,不应静态调用非静态方法OLE :: LocalDate2OLE()
ÐÏࡱá; ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

        þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ       l    ÉB  ä       Tabelle 1=      ¼%r8      X"    1  È   ÿ      Arial1  È   ÿ      Arial1  È   ÿ      Arial1  È   ÿ      Arial1  È   ÿ      Arial1  È         Arialà      õÿ  À       à      õÿ  À       à      õÿ  À       à      õÿ  À       à      õÿ  À       à      õÿ  À       à      õÿ  À       à      õÿ  À       à      õÿ  À       à      õÿ  À       à      õÿ  À       à      õÿ  À       à      õÿ  À       à      õÿ  À       à      õÿ  À       à          À       à        À       “  € ÿ’ â 8     ÿÿÿ ÿ    ÿ    ÿ ÿÿ  ÿ ÿ  ÿÿ €    €    € €€  € €  €€ ÀÀÀ €€€ ™™ÿ ™3f ÿÿÌ Ìÿÿ f f ÿ€€  fÌ ÌÌÿ   € ÿ ÿ ÿÿ   ÿÿ € € €    €€   ÿ  Ìÿ Ìÿÿ ÌÿÌ ÿÿ™ ™Ìÿ ÿ™Ì Ì™ÿ ÿÌ™ 3fÿ 3ÌÌ ™Ì  ÿÌ  ÿ™  ÿf  ff™ –––  3f 3™f  3  33  ™3  ™3f 33™ 333 …  -      Tabelle 1
l É * + € ‚ Á ƒ „ & è?' è?( ð?) ð?¡ " d XX à? à?
blub>



                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           R o o E n t r yÀFfé\Ñfé\Ñ@ B o o k
  ÀFþÿÿÿþÿÿÿþÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

知道如何解决吗???? :(

最佳答案

尊敬的未来人士,他们仍在使用PEAR Spreadsheet_Excel_Writer软件包:

这些错误是由PEAR OLE包引起的,更具体地说是1.0.0RC2版本。解决此问题的一种方法是强制将OLE包降级为RC1:

pear install -f OLE-1.0.0RC1


对于那些也收到“呼叫时通过引用传递”错误的用户,可以通过手动更新代码来解决,如下所示:
http://pear.php.net/bugs/bug.php?id=19359

在第2490行的Spreadsheet / Excel / Writer / Worksheet.php中,更改:

$this->_append(&$string, true);


至:

$this->_append($string, true);

关于php - 从数据库中获取条目,并使用PHP中的Spreadsheet Excel writer将其添加到新的Excel文件中不起作用,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33599519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com