gpt4 book ai didi

php - 如何将 Facebook 上的名字写入 MySQL?

转载 作者:行者123 更新时间:2023-11-29 08:37:29 25 4
gpt4 key购买 nike

我正在尝试运行以下代码:

mysql_query("INSERT INTO friend_data (UID, Name) VALUES ($friendUID, $friendName)");

其中 $friendUID 是从 Facebook 抓取的用户 ID,$friendName 是从 Facebook 抓取的好友姓名。由于某种原因,$friendName 只是不会写入 MySQL。 $friendUID 写得很好,常规文本也是如此。有谁知道为什么,或者如何让它发挥作用?相关代码如下:

$uid = $facebook->getUser();
$friends = $facebook->api('/me/friends');
$friendUID = $value["id"];
$friendName = $value["name"];
echo $friendName;
mysql_query("INSERT INTO friend_data (UID, Name) VALUES ($friendUID, $friendName)");

谢谢!

最佳答案

首先,您应该考虑使用 MySQLi 或 PDO,因为 PHP MySQL 扩展相当旧(现在在 PHP5.5 中已弃用)
http://www.php.net/manual/en/mysqlinfo.api.choosing.php

问题在于您尝试将原始文本插入 SQL 查询,这除了存在注入(inject)风险之外,还会导致无效语句:

期望的结果:

INSERT INTO friend_data (UID, Name) VALUES (1234, "Friend Name");

实际结果:

INSERT INTO friend_data (UID, Name) VALUES (1234, Friend Name);

您需要将名称值封装在引号中,并在插入值之前对其进行转义:

$uid = $facebook->getUser();
$friends = $facebook->api('/me/friends');
$friendUID = mysql_real_escape_string($value["id"]);
$friendName = mysql_real_escape_string($value["name"]);
mysql_query("INSERT INTO friend_data (UID, Name) VALUES ($friendUID, \"$friendName\")");

关于php - 如何将 Facebook 上的名字写入 MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14864668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com