Mange tak for dit svar men det virker desværre heller ikke
vi er nød til at have nogle
fejl meldinger, virker ikke kan vi ikke bruge til noget.
har du slået error_reporting og display_errors til ??
man bør ikke udvikle uden dette er slået til, hvis det ikke er slået til udvikler du i blinde.
hvad returnerer din $_POST['users'] ??
står der noget i de andre variabler du anvender ??
jeg har prøvet at teste dit program, rettet stave fejlen, gider ikke sætte databasen op.
test.php
<?php
include_once("debugheader.php");
// test data start
$name = "Jonas";
$ownerid = 9;
$message = "dette er en test";
$pmid = 42;
$recepients = array(1, 6, 8, 15);
// test data slut
// hvis det komer over som komma seperaret (som f.eks. "1,3,2,5,4") som Tommy Hansen mistænker
// $recepient_list = $_POST['users'];
// $recepients=implode(',',$recepient_list);
// hvis det kommer over som et array
// $recepients=$_POST['users'];
// test udskrivnig af array start
echo "<pre>";
print_r($recepients);
echo "</pre>";
// test udskrivnig af array slut
$result1 = "INSERT INTO pm__conversations (name, owner_id, created_at) VALUES ('$name', '$ownerid', NOW())";
//$result1s = $conn->query($result1);
echo $result1; echo "<br>"; // test
// $pmid = $conn->insert_id; // Get the inserted ID
$result2 = "INSERT INTO pm__messages (conversation_id, message, userid, created_at) VALUES ('$pmid', '$message', '$ownerid', NOW())";
// $result2s = $conn->query($result2);
echo $result2; echo "<br>"; // test
foreach ($recepients as $recipient) {
$result3 = "INSERT INTO pm__conversation_users (conversation_id, userid, created_at) VALUES ('$pmid', '$recipient', NOW())";
echo $result3; echo "<br>"; // test
// $result3s = $conn->query($result3);
}
?>
// debugheader.php overruler php.ini og slår error_reporting og display_errors til
debugheader.php
<?php
define('IN_DEBUG_MODE', true); // Sæt til false i production mode
if (IN_DEBUG_MODE) {
ini_set("display_startup_errors", "on");
ini_set("display_errors", "on");
ini_set("html_errors", "false");
error_reporting(-1); // -1 viser alle slags fejl beskeder
ini_set("ignore_repeated_errors", 0);
} else {
// Turn off all error reporting
error_reporting(0);
}
?>
output
Array
(
[0] => 1
[1] => 6
[2] => 8
[3] => 15
)
INSERT INTO pm__conversations (name, owner_id, created_at) VALUES ('Jonas', '9', NOW())
INSERT INTO pm__messages (conversation_id, message, userid, created_at) VALUES ('42', 'dette er en test', '9', NOW())
INSERT INTO pm__conversation_users (conversation_id, userid, created_at) VALUES ('42', '1', NOW())
INSERT INTO pm__conversation_users (conversation_id, userid, created_at) VALUES ('42', '6', NOW())
INSERT INTO pm__conversation_users (conversation_id, userid, created_at) VALUES ('42', '8', NOW())
INSERT INTO pm__conversation_users (conversation_id, userid, created_at) VALUES ('42', '15', NOW())
du vil kunne optimerer ved at lave dit sql statement i din foreach om til denne form
INSERT INTO `bruger` (`dato`, `fornavn`, `efternavn`) VALUES
('2015-01-15 21:26:06', 'ronny', 'olsen'),
('2014-10-05 00:00:00', 'palle', 'gulvballe'),
('2014-10-07 00:00:00', 'anders', 'and'),
('2014-10-22 00:00:00', 'rip', 'and'),
('2014-10-07 00:00:00', 'rap', 'and'),
('2014-10-22 00:00:00', 'rup', 'and');
så skal du kun lave en query()
en anden måde er ved at bruge Prepare Statement
http://www.eksperten.dk/guide/1480http://www.w3schools.com/php/php_mysql_prepared_statements.asp