Hallo,
ich habe mir für Autohotkey die Improv3d API geholt, um damit auf MySQL zugreifen zu können.
Ich habe mir die Improv3d.php wiefolgt editiert:
PHP
<?php
require 'config.php';
require 'include/sqlcon.php';
/*if($pin > 0) {
if($_GET["key"] != round(date("H") * $pin, 4)) {
die("Falsche PIN!");
}
}*/
if(!empty($_GET["action"])) {
#if($_SERVER['HTTP_USER_AGENT'] != 'AutoHotkey' && AHK_ONLY) die("Keine Berechtigung!");
$table = $_GET['table'];
switch($_GET["action"]) {
case "read": {
if(!empty($_GET['a']) && !empty($_GET['b']) && !empty($_GET['c']))
{
$stmt = getDB()->prepare("SELECT `:clm` FROM `:table` WHERE `:row` = ':rw'");
$stmt->execute(array(
'clm' => $_GET['a'],
'table' => $table,
'row' => $_GET['b'],
'rw' => $_GET['c']
));
if($stmt->rowCount()) {
$obj = $stmt->fetch(PDO::FETCH_OBJ);
if(!$obj) {
echo "0";
} else {
echo $obj[0];
}
} else {
echo "-1";
}
}
break;
}
case "write": {
if(!empty($_GET['a']) && !empty($_GET['b']) && !empty($_GET['c']) && !empty($_GET['d']))
{
$stmt = getDB()->prepare("UPDATE `:table` SET `:clm` = `:val` WHERE `:cl` = ':rw'");
$stmt->execute(array(
'table' => $table,
'clm' => $_GET['a'],
'val' => $_GET['b'],
'cl' => $_GET['c'],
'rw' => $_GET['d']
));
if(!$stmt) {
echo "0";
} else {
echo "1";
}
}
break;
}
case "compare": {
if(!empty($_GET['a']) && !empty($_GET['b']) && !empty($_GET['c']) && !empty($_GET['d']))
{
$stmt = getDB()->prepare("SELECT `:clm` FROM `:table` WHERE `:row` = ':val'");
$stmt->execute(array(
'clm' => $_GET['a'],
'table' => $table,
'row' => $_GET['b'],
'val' => $_GET['c']
));
if($stmt->rowCount()) {
$res = $stmt->fetch(PDO::FETCH_OBJ);
if($res->$_GET['a'] == $_GET['d']) {
echo "1";
} else {
echo "0";
}
} else {
echo "-1";
}
}
break;
}
case "row_exist": {
echo "row exist.";
if(!empty($_GET['a']) && !empty($_GET['b']))
{
$stmt = getDB()->prepare("SELECT * FROM `:table` WHERE `:row` = ':val'");
$stmt->execute(array(
'table' => $_GET['table'],
'row' => $_GET['a'],
'val' => $_GET['b']
));
if($stmt->rowCount()) {
echo "1";
} else {
echo "0";
}
}
}
}
}
?>
Alles anzeigen
Wenn ich nun eine Abfrage direkt im Browser starte (z.B. website.de/improv3dZ.php?action=row_exist&table=Users&a=Username&b=Zinne ) zeigt er mir nichts an, kein "Row exist", kein 1 keine 0.
Woran kann das liegen?
Die SQL-Verbindung funktioniert auf jeden Fall, daran kann es also nicht liegen.
lg
Deagle