Fullscreen
Loading...
 
Skip to main content

PDOException: SQLSTATE[HY093] - when reloading a session (after database transfer SQL from Linux to Windows, with no direct relation to)

Status
Closed
Subject
PDOException: SQLSTATE[HY093] - when reloading a session (after database transfer SQL from Linux to Windows, with no direct relation to)
Version
4.x
Category
  • Error
Feature
All / Undefined
Resolution status
Invalid
Submitted by
Ushindi Gedeon
Lastmod by
Ushindi Gedeon
Rating
(0)
Description

Hello,

This happens in the same context as my others reports.

The database has been saved in SQL and loaded with upgraded versions of mysql, php 5.3.2.
There is in my opinion no relation with the context.

During start the current session prefs contain the query launch the previous current session.

A fatal error occurs in tikisession-pdo.php on line 44 function write statement <$sth->execute();>

PDOException: SQLSTATEHY093: Invalid parameter number: no parameters were bound in D:\Trebly\Teawik-ld8-422a\lib\tikisession-pdo.php on line 44

The var_dump($qry) in "prepare" function (see my interface in Class TikiDb_Pdo) gives (extract)

''object(PDOStatement)42
public 'queryString' => string 'update sessions set data='need_reload_prefs|b:0;serialized_prefs|a:9:{i:0;s:27:"feature....''

The problem comes from the fact that into the session->data you can find the HOMEPAGE article "title" which is, in this case (French):

s:46:"Page d'accueil spécifique des administrateurs";

so the " ' " not escaped generates the crash of the request.

Solution

Proposal :

When the titles of articles (or any text which can occur into prefs or any query) are stored the " ' " must be escaped into the database.

Note : Temporarily I have implemented for me a syntax control and validation test for " ' " into the query which escapes the incongruous " ' " with a warning message. This because with this title the content will not be found...

Workaround
Importance
8
Priority
40
Demonstrate Bug on Tiki 19+
Demonstrate Bug (older Tiki versions)
Ticket ID
3102
Created
Wednesday 07 April, 2010 02:10:31 UTC
by Bernard TREMBLAY
LastModif
Monday 01 June, 2026 20:36:16 UTC


Show PHP error messages