8792 sujets

Développement web côté serveur, CMS

Bonjour,

Je souhaite crée sur une table un trigger, j'y arrive très bien en passant par une console Mysql sous Linux mais rien à faire si j'essaie de le crée avec du PHP ex avec un truc dans ce genre :
$trigger = 'DELIMITER |
CREATE TRIGGER delete_customer AFTER DELETE ON osc_customers
  FOR EACH ROW BEGIN
  DELETE FROM db_net.osc_customers
  WHERE customers_id = old.customers_id
  AND IDC = 33;
END;|
DELIMITER ;';

mysql_query($trigger);


Est-il seulement possible de le crée en console ?
Modifié par voyageman (12 Jan 2007 - 00:05)
Administrateur
obtiens-tu un message d'erreur précis ?

il se peut que tu n'aies pas les droits nécessaires pour le créer (s'il s'agit de deux serveurs différents).
C'est ok je viens de trouver la solution :
avec ce code ça tourne très bien :


<?php
$link = mysqli_connect("192.168.1.1", "user", "pass", "db_bt_B740zp98wDPBU7Daa8BO");

if (mysqli_connect_errno()) {
    echo mysqli_connect_error();
    exit();
} else {
    echo 'connexion reussie !<br>';
}

$query = 'CREATE TRIGGER delete_customer AFTER DELETE ON db_bt_B740zp98wDPBU7Daa8BO.osc_customers FOR EACH ROW
BEGIN
  DELETE FROM db_net.osc_customers
  WHERE customers_id = old.customers_id
  AND IDC = 33;
END;';
$result = mysqli_query($link, $query);

echo mysqli_error($link);
mysqli_close($link);
?>