javascript - AJAX and PHP, wont send data -
i have kind of weird problem, can't seem solve.
what trying do, call jquery function on 1 page, send argument of function .php-file on same server, have php file read variable, , insert database.
the function trigger placed on div, , looks this:
<div class="add_button" onclick="addimg('<?php echo $value[id]; ?>');"> the function looks this:
function addimg(id) { $.ajax({ url: "addimgs.php", type: "post", data: {"id" : id} }); console.log("function called id: " + id); } i using console try , debug little here, , console.log()-function being executed correctly. log give me error 500 if "url" not exist.
lastly, php-code of addimgs.php looks this:
<?php $id = $_request['id']; $servername = "localhost"; $username = "username"; $password = "password"; // create connection $conn = new mysqli($servername, $username, $password, "db_name"); $query = "insert imgs (id) values ($id)"; $result = $conn->query($query); $conn->close(); ?> this .php-file works fine, if add
?id=123 to end of it's url, , value of "123" added table in database.
so assumption problem connection between ajax function, , php-file.
please :)
in question variable name id, on actual website gave link name img_id.
function addimg(id) { $.ajax({ url: "http://projects.mn-web.dk/instafetcher/addimgs.php", type: "post", data: {"img_id" : id} }); console.log("function called id: " + id); } are sure server side script expects img_id? in particular, sure in actual php script have line:
$id = $_request['img_id']; and not this:
$id = $_request['id']; also note image ids not integers:
img_id="828281229958329915_2834748" so make sure type of id in imgs varchar or else can store strings, , not int or bigint.
update: ivan pointed out in comment, since img_id string, not integer, insert query invalid, needs enclose id quotes. 1 simple way is:
$query = "insert imgs (id) values (\"".mysqli_real_escape_string($id)."\")"; but more proper way use prepared statements:
Comments
Post a Comment