Я изменил с mysql
на mysqli
любую команду. Когда я побежал я получил следующее сообщение об ошибке:Ошибка создания таблицы
Error creating table: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '),)' at line 7
это уведомление:
Notice: Undefined offset: 4 in C:\XAMPP\htdocs\prog_db_mysqli.php on line 41
и предупреждение:
Warning: mysqli_close() expects parameter 1 to be mysqli, boolean given in C:\XAMPP\htdocs\prog_db_mysqli.php on line 47
<?php
require_once 'reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251');
$data->read('prog.xls');
$con = mysqli_connect("localhost","root","","mynewdb");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Create table
$sql="CREATE TABLE prog_scores(
pid INT(1),
pname VARCHAR(100),
py TEXT(4),
pcrit VARCHAR(100),
pscore DOUBLE(100),
)";
// Execute query
if (mysqli_query($con,$sql))
{
echo "Table prog_scores created successfully";
}
else
{
echo "Error creating table: " . mysqli_error($con);
}
for($x = 2; $x <= count($data->sheets[0]["cells"]); $x++)
{
//$sno = $data->sheets[0]["cells"][$x][1];
$pname = $data->sheets[0]["cells"][$x][1];
$py = $data->sheets[0]["cells"][$x][2];
$pcrit = $data->sheets[0]["cells"][$x][3];
$pscore = $data->sheets[0]["cells"][$x][4];
$res = mysqli_query($con,"INSERT INTO prog_scores
(pname,pcrit,pscore,py) VALUES ('$pname','$py','$pcrit','$pscore')");
mysqli_close($res);
}
?>
Я также проверил php.ini
файл в динамических расширений и я изменил с
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; ... or under UNIX:
;
; extension=msql.so
;
; ... or with a path:
;
; extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
extension=php_bz2.dll
extension=php_curl.dll
extension=php_mbstring.dll
extension=php_exif.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mssql.dll
;extension=php_mbstring.dll
;extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pdo_sqlite_external.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
к этому
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; ... or under UNIX:
;
; extension=msql.so
;
; ... or with a path:
;
; extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
extension=php_mysqli.dll
, но он не работает. У меня PHP 5.5, и я использую xampp.
Как это отвечает на что-либо? – treegarden
У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования вблизи '),)' в строке 7 Это может помочь устранить эту ошибку. –
Вы должны ответить только на вопрос, когда у вас действительно есть ответ на проблему. Если вы хотите дать некоторые советы, которые могут помочь найти ответ, используйте функцию комментариев. – treegarden