im using php to take a song request via an ajax, and save it to a postgres db.
everything is in heroku, and I can connect to the db fine using pgadmin
i get the following error - what's the right way to take the string from the GET request and write to db?
2014-08-24T01:43:32.062128+00:00 app[web.1]: [Sun Aug 24 01:43:31.864706 2014] [proxy_fcgi:error] [pid 64:tid 139700481152768] [client 10.53.42.218:51189] AH01071: Got error 'PHP message: PHP Warning: pg_query(): Query failed: ERROR: syntax error at or near "\" LINE 1: INSERT INTO songs (request) VALUES(\'song\')
^ in /app/songs.php on line 21 ', referer: http://sep21.herokuapp.com/2014-08-24T01:43:32.062130+00:00 app[web.1]: [24-Aug-2014 01:43:31] WARNING: [pool www] child 61 said into stderr: "NOTICE: PHP message: PHP Warning: pg_query(): Query failed: ERROR: syntax error at or near "\""
2014-08-24T01:43:32.062132+00:00 app[web.1]: [24-Aug-2014 01:43:31] WARNING: [pool www] child 61 said into stderr: "LINE 1: INSERT INTO songs (request) VALUES(\'song\')"
2014-08-24T01:43:32.062134+00:00 app[web.1]: [24-Aug-2014 01:43:31] WARNING: [pool www] child 61 said into stderr: "
^ in /app/songs.php on line 21"
code is as follows:
CREATE TABLE songs
(
request character varying[] NOT NULL,
created bigint,
id bigserial NOT NULL,
CONSTRAINT "Pk" PRIMARY KEY (id)
)
$.ajax({
type: "GET",
url: "songs.php",
data: q,
success: function(resp){
// console.log(q)
// console.log(resp)
try{var song_resp = JSON.parse(resp)}
catch(err){var song_resp = err}
// console.log(song_resp)
// console.log(target)
if (song_resp.pass == true){
$("#nice_choice").slideDown(250)
// $("#nice_choice").css("-webkit-animation-play-state","running")
// $("#nice_choice").css("-animation-play-state","running")
}
else {
$("#something_wrong").slideDown(250)
// $("#something_wrong").css("-webkit-animation-play-state","running")
// $("#something_wrong").css("-animation-play-state","running")
}
},
error: function (jqXHR, exception){
$("#something_wrong").slideDown(300)
// $("#something_wrong").css("-webkit-animation-play-state","running")
// $("#something_wrong").css("-animation-play-state","running")
}
}); // Ajax Call
<?php
if ($_GET['q']){
$song = $_GET["q"];
$dbconn = pg_connect("host=ec2-54-247-111-1.eu-west-1.compute.amazonaws.com
dbname=dbname
user=user
password=pw")
or die('Could not connect: ' . pg_last_error());
$result = pg_query($dbconn, "INSERT INTO songs (request) VALUES(\'song\')");
//dump the result object
if ($result == false) {
echo false;
}
else{
echo true;
}
// Closing connection
pg_close($dbconn);
}
?>