Hey,
So mal ein wenig gearbeitet und es tritt das erste Problem auf, welches ich zwar verstehe aber keine Möglichkeit sehe, dies zu beheben.
Ich hab jetzt folgendes Statment:
$get_data = $db->prepare(sprintf(
"Select
%1$s.sid, %1$s.x, %1$s.y, %1$s.z,
%2$s.pid, %2$s.ppos, %2$s.pclass,
%3$s.h, %3$s.he, %3$s.c, %3$s.n, %3$s.o, %3$s.si, %3$s.ti, %3$s.fe,
%4$s.mid, %4$s.mpos, %4$s.mclass,
%5$s.h, %5$s.he, %5$s.c, %5$s.n, %5$s.o, %5$s.si, %5$s.ti, %5$s.fe
From %1$s
Left JOIN %2$s ON %1$s.sid = %2$s.sid
Left JOIN %3$s ON %1$s.sid = %3$s.sid
Left JOIN %4$s ON %2$s.pid = %4$s.pid
Left JOIN %5$s ON %2$s.pid = %5$s.pid
", mysqli_real_escape_string($db, $_SESSION['gid']."_s"),
mysqli_real_escape_string($db, $_SESSION['gid']."_pinfo"),
mysqli_real_escape_string($db, $_SESSION['gid']."_presource"),
mysqli_real_escape_string($db, $_SESSION['gid']."_minfo"),
mysqli_real_escape_string($db, $_SESSION['gid']."_mresource")));
$get_data->execute();
$result = $get_data->get_result();
$data['gdata']['s'] = $result->fetch_assoc();
Dazu nochmal kurz dargestellt wie die Tabellen aussehen:
s:
| sid | x | y | z |
| 1 | 2 | 4 | 2 |
| 2 | 4 | 5 | 1 |
pinfo:
| pid | sid |...
| 1 | 2 |...
| ... | ... |...
presource:
| pid | sid |...
| 1 | 2 |...
| ... | ... |...
mresource:
| mid | pid |...
| 1 | 2 |...
| ... | ... |...
mresource:
| mid | pid |...
| 1 | 2 |...
| ... | ... |...
Logischerweise, meckert PHP bei der Verknüpfung $s.* und sagt das er die Variable nicht kennt.
Und ich erhalte Fatal error: Call to a member function execute() on a non-object in W:\htdocs\html\... on line 2738
. Und zu allem überfluss bekomme ich auch noch Warning: sprintf(): Too few arguments in W:\htdocs\html\... on line 2738
.
Also grad etwas zum Haare raufen aber was mach ich nur falsch?
Gruß
Jo