Kann das wirklich sein das PHP 5.2.5 weder mysqli noch mysql mit Transaction klar kommt? Dieser Syntax funktioniert bei mir auf der Konsole und in einem C Script einwandfrei. Aber bei PHP streiken beide Extensions. mysql spukt mir die untere Fehlermeldung aus und mysqli macht gar nichts
Code:
START TRANSACTION;
SELECT @lng:=IF( STRCMP(`main_lang`,'de'), 'en', 'de' )
FROM `hjcms_main_data` WHERE  ( `main_activ` LIKE 1 ) ORDER BY `main_id` ASC;
SELECT `main_id`, `main_type`, `main_title`, `main_body`, `main_modified`, `main_posted`
FROM `hjcms_main_data`
WHERE ( `main_type` RLIKE "news|about" AND `main_lang` LIKE @lng AND `main_activ` LIKE 1 )
ORDER BY `main_type` ASC;
COMMIT;
PHP-Code:
$QUERY = <<<EOT
START TRANSACTION;
SELECT @lng:=IF( STRCMP(`main_lang`,'de'), 'en', 'de' )
FROM `hjcms_main_data` WHERE  ( `main_activ` LIKE 1 ) ORDER BY `main_id` ASC;
SELECT `main_id`, `main_type`, `main_title`, `main_body`, `main_modified`, `main_posted`
FROM `hjcms_main_data`
WHERE ( `main_type` RLIKE "news|about" AND `main_lang` LIKE @lng AND `main_activ` LIKE 1 )
ORDER BY `main_type` ASC;
COMMIT;
EOT;

$result mysql_query$QUERY$con ) or die( mysql_errno$con ) );

if( 
$result )
{
  while( 
$row mysql_fetch_assoc$result ) )
  {
    foreach( 
$row AS $k => $v )
    {
      
var_dump$k$v );
    }
  }
  
mysql_free_result$result );

Code:
Warning: mysql_query() [http://www.mysql.com/doc]: Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei ';
SELECT @lng:=IF( STRCMP(`main_lang`,'de'), 'en', 'de' )
FROM `hjcms_main_data`' in Zeile 1 in $HOME/public_html/transactiontest.php on line 17