Php 共享FB链接后,插入mysql不工作
嘿,我有个问题 我想当一个用户共享了我的facebook应用程序的链接时,我会将他的id输入我的数据库 我分享链接的方式是通过我修改过的facebook对话javascript示例 共享javascript代码Php 共享FB链接后,插入mysql不工作,php,javascript,mysql,ajax,facebook,Php,Javascript,Mysql,Ajax,Facebook,嘿,我有个问题 我想当一个用户共享了我的facebook应用程序的链接时,我会将他的id输入我的数据库 我分享链接的方式是通过我修改过的facebook对话javascript示例 共享javascript代码 <script> FB.init({appId: 'xxxx', channelUrl: 'xxxx', status: true, cookie: true}); function postToFeed() { // callin
<script>
FB.init({appId: 'xxxx', channelUrl: 'xxxx', status: true, cookie: true});
function postToFeed() {
// calling the API ...
var obj = {
method: 'feed',
link: 'https://developers.facebook.com/docs/reference/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
name: 'Facebook Dialogs',
caption: 'Reference Documentation',
description: 'Using Dialogs to interact with users.'
};
function callback(response) {
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
document.getElementById('post').style.display = "none";
}
}
xmlhttp.open("POST","shared.php",true);
xmlhttp.send("id=xxx");
}
FB.ui(obj, callback);
}
</script>
当我共享了链接后,我得到了post_id,但是db中什么都没有
有人能告诉我出了什么问题吗?无效的字段名:
INSERT INTO xxx (fb-id) ...
^^^^^
INSERT INTO xxx (`fb-id`) ...
这看起来像是两个字段被减去,而不是一个字段。您可能希望使用反勾号对其进行转义,以强制将其视为单个字段名:
INSERT INTO xxx (fb-id) ...
^^^^^
INSERT INTO xxx (`fb-id`) ...
在灰色图片中,你有一个很大的缺口。停止使用此代码,了解如何在有人破坏您的服务器之前避免此问题
您还假设查询成功,这是一件坏事。在connect()调用中有错误处理,但在其他地方没有。永远不要假设查询已成功。以后一定要检查错误。您可能需要确认Facebook的策略允许您存储该用户的ID。我也允许存储用户名,但不允许存储用户名和密码;)我知道我的sql代码中有一个很大的漏洞,但我会修复这个问题,当我可以将代码插入数据库时,我只是将代码精简到了最低限度;)