$ fields是一个打印后获得如下值的数组:
Array ( [first_name] => Nisse [last_name] => Example [ssn] => 198306205053 [address] => Stockholm, Sverige [phone_number] => 54654987321546 [latitude] => 55.717089999999999 [longitude] => 13.235379 )
Run Code Online (Sandbox Code Playgroud)
我从我的数据类中调用更新函数,如下所示:
DataManager::update_user($fields, $user_data['id'];
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
警告:PDOStatement :: execute():SQLSTATE [HY093]:参数号无效:参数未在... filetext中定义
我已经检查了其他几个类似的线程,但我想我在这里遗漏了一些基本概念,因为我仍然无法找到答案.据我所知,我的数组中有7个和7个项目,如果我定义了所有值,我可以在SQL工作台中完美地运行它,即:
UPDATE users SET first_name = 'Kalle', last_name = 'Anka', ssn = 242345234, address = 'Stockholm', phone_number = 53423434, latitude = 17.189889231223423423424324234, longitude = 109.234234 WHERE id = 4
Run Code Online (Sandbox Code Playgroud)
我已经尝试了PDO预处理语句,其中$ user_id设置为特定值,也没有纬度/经度参数.
如果我忘记任何重要信息,只需指出它,我就会明白.地址是varchar,lat/long是DB btw中的浮点数.使用MYSQL.
功能如下:
public static function update_user($fields, $user_id)
{
$db = self::_connect();
$st …Run Code Online (Sandbox Code Playgroud) 我想把我的网页放到维护中,所以我用这个替换原来的htaccess文件:
ErrorDocument 403 /maintenance/maintenance.php
order deny,allow
deny from all
allow from 111.222.333.444
Run Code Online (Sandbox Code Playgroud)
在发布之前已经阅读了很多线程,这是我收集的将是正确的解决方案,但我不能让它工作.如果我不允许使用我自己的IP,我会收到错误500(这意味着我的访问者会看到),如果我使用我的IP,我会得到错误403(我甚至没有到达我的维护页面,这就是我也不允许在那里).
我在这做错了什么?提前致谢.