Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >试图保存用户信息,错误

试图保存用户信息,错误
EN

Stack Overflow用户
提问于 2017-08-22 22:49:45
回答 3查看 74关注 0票数 0

我试图保存存储在SQL中的信息,但是这个错误不断出现:“错误保存数据。您的MySQL语法出现了错误;检查与您的MySQL服务器版本对应的手册,以获得正确的语法,以便使用”company= 'GlobalTop Inc.‘;在第6行“”中的regid = 1’其中,什么似乎是错误?

以下是完整的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<?php
include "db.php";
$gresult = ''; //declare global variable



//Start of edit contact read
if(isset($_POST["action"]) and $_POST["action"]=="edit"){
            $id = (isset($_POST["ci"])? $_POST["ci"] : '');
            $sql = "select regid, regname,
                            address, phone,
                            email,company from tblregistrants
                            where regid = $id";

            $result = mysqli_query($link, $sql);

            if(!$result)
            {
                echo mysqli_error($link);
                exit();
            }

            $gresult = mysqli_fetch_array($result);

            include 'update.php';
            exit();
}
//Insert or Update contact information
if(isset($_POST['action_type']))
{
        if ($_POST['action_type'] == 'add' or $_POST['action_type'] == 'edit')
        {
                //Sanitize the data and assign to variables
                $regid = mysqli_real_escape_string($link, strip_tags($_POST['regid']));
                $regname = mysqli_real_escape_string($link, strip_tags($_POST['regname']));
                $phone = mysqli_real_escape_string($link, strip_tags($_POST['phone']));
                $address = mysqli_real_escape_string($link, strip_tags($_POST['address']));         
                $email = mysqli_real_escape_string($link, strip_tags($_POST['email']));
                $company = mysqli_real_escape_string($link, strip_tags($_POST['company']));

                if ($_POST['action_type'] == 'add')
                {
                    $sql = "insert into tblregistrants set
                                        name = '$regname',
                                        phone = '$phone',
                                        address = '$address',
                                        email = '$email'
                                        company = '$company'";
                }else{
                    $sql = "update tblregistrants set
                                        name = '$regname',
                                        phone = '$phone',
                                        address = '$address',
                                        email = '$email'
                                        company = '$company'
                                        where regid = $regid";
}


        if (!mysqli_query($link, $sql))
        {
            echo 'Error Saving Data. ' . mysqli_error($link);
            exit();
        }
    }
    header('Location: view.php');
    exit();
}

//Read registrants information from database : Stage 1
$sql = "select * from tblregistrants";

$result = mysqli_query($link, $sql);

if(!$result)
{
    echo mysqli_error($link);
    exit();
}
//Loop through each row on array and store the data to $reg_list[] : Stage 2
while($rows = mysqli_fetch_array($result))
{
    $reg_list[] = array('regid' => $rows['regid'],
    'regname' => $rows['regname'],
    'address' => $rows['address'],
    'phone' => $rows['phone'],
    'email' => $rows['email'],
    'company' => $rows['company']);
}
include 'view.php';
exit();

?>
EN

回答 3

Stack Overflow用户

发布于 2017-08-22 22:56:40

,之后的if语句和else语句中,您都错过了email = '$email'

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 if ($_POST['action_type'] == 'add')
                {
                    $sql = "insert into tblregistrants set
                                        name = '$regname',
                                        phone = '$phone',
                                        address = '$address',
                                        email = '$email', 
                                        company = '$company'";
                }else{
                    $sql = "update tblregistrants set
                                        name = '$regname',
                                        phone = '$phone',
                                        address = '$address',
                                        email = '$email',
                                        company = '$company'
                                        where regid = $regid";
}

还可以使用准备语句防止SQL注入。

票数 0
EN

Stack Overflow用户

发布于 2017-08-22 22:59:48

就像劳伦斯说你失踪了一样,在你的查询中

试试这个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$sql = "insert into tblregistrants set
                                    name = '$regname',
                                    phone = '$phone',
                                    address = '$address',
                                    email = '$email',
                                    company = '$company'";
票数 0
EN

Stack Overflow用户

发布于 2017-08-22 22:58:34

改变这个,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
                      $sql = "update tblregistrants set
                                        name = '$regname',
                                        phone = '$phone',
                                        address = '$address',
                                        email = '$email',
                                        company = '$company'
                                        where regid = $regid";

到这个

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
                            $sql = "update tblregistrants set
                                            name = '$regname',
                                            phone = '$phone',
                                            address = '$address',
                                            email = '$email',
                                            company = '$company'
                                            where regid = '$regid'";
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45832529

复制
相关文章
用curl命令通过smtp协议发送邮件
为啥我要用curl来发邮件呢?主要是服务器不是邮件服务器,也没有装sendmail、postfix这类邮件服务,有时写一些脚本会用邮件提醒,这时候用curl就非常方便了。
用户2323866
2021/06/23
5.1K0
Python3.6使用SMTP协议发送邮件
开启IMAP/SMTP服务,SMTP服务器: smtp.126.com,设置开启客户端授权密码(代码里的登录密码需使用此授权密码)
geekfly
2022/04/24
5760
Python3.6使用SMTP协议发送邮件
java实现发送邮件服务器,SMTP协议发送邮件
1.采用SMTP的邮件发送协议。准备:在网易注册一个邮箱,进入设置开启SMTP/pop3协议 2.接下来就是java代码实现了,下面都有注释,就不多做解释了。 public class mail {
生活创客
2018/01/30
4.5K0
java实现发送邮件服务器,SMTP协议发送邮件
基于SMTP协议的邮件发送功能JavaEE实现
本博客介绍基于SSM框架(Spring4.0+SpringMVC+Mybatis)组合的Javamail应用,邮箱的话基于腾讯的QQ邮箱,其实也是Foxmail邮箱
SmileNicky
2019/01/17
7520
[快学Python3]SMTP发送邮件
概述 在本文中,主要介绍使用smtplib进行文本格式、HTML格式和带附件的邮件发送处理。 导入smtplib模块 import smtplib 关键函数说明 # 创建smtp对象 smtp = smtplib.SMTP([host [, port [, localhost]]] ) # 参数说明 # host: smtp服务地址,例如126邮箱的是:smtp.126.com # port: smtp服务端口 # localhost: 如果你的smtp服务在本机,则只需指定localhost即可 #
苦叶子
2018/04/09
4K0
[快学Python3]SMTP发送邮件
SMTP协议
> 参考文献 [RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.txt "https://www.rfc-editor.org/rfc/rfc5321.txt")
孤鸿
2022/09/23
1.6K0
python SMTP邮件发送
本例使用的时python2.7环境,python3的操作应该也是差不多的。 需要用到smtplib和email两个包。
py3study
2020/01/16
1.8K0
用CBrother脚本实现smtp协议发送一份邮件
之前用CBrother脚本写了一个拯救“小霸王服务器”的程序,公司人用着都挺好用,但是有时候谁重启了服务器其他人不知道,造成了多人多次重启,每个人都抢救一遍,大家一再要求我添加功能,有一个人重启后给其他人发一封邮件。
无剑胜有剑
2020/07/16
4540
用CBrother脚本实现smtp协议发送一份邮件
同步等待方法
function waitVar(key,varb, fun) { //等待指定变量,返回:-1:无数据,继续等待 -2:超时 1:成功。fun不支持参数 if (!cnt2[key]) { cnt2[key] = 1 } else { cnt2[key]++ } if (!varb || varb.length == 0) { if (cnt2[key] > 10) { //超时,由于都是异步操作,相互依赖的变量会同时判断,所以这个时间是最大
用户1075292
2018/01/23
1.6K0
SMTP协议详解
电子邮件有三个主要的组成部分:用户代理,邮件服务器和简单的邮件传输协议(SMTP),我们几天主要来说一下在应用层中的SMTP协议,它使用TCP可靠数据传输服务,像大多数应用层协议一样,SMTP也有俩个部分:运行在发送方邮件服务器的客户端和运行在接收方邮件服务器的服务器端,每台邮件服务器既运行SMTP服务器端也运行SMTP客户端。
秋名山码神
2022/12/13
1.6K0
Python SMTP 发送邮件方法
在很多时候,使用 Python 发送邮件可能没有办法使用邮件服务器提供的 API,因为不是所有的邮件服务商都会提供 API 供客户使用的。
HoneyMoose
2021/03/24
1.4K0
Python SMTP 发送邮件方法
WordPress SMTP发送邮件设置
前几天设置了ssl证书,用的是Let’s Encrypt免费ssl证书设置好了才发现不能发送邮件,这点事我不能接受的,以前用的国外的VPS一直没有问题,搬至腾讯云就不能用mail()函数发邮件,刚开始一直以为是我的Exim4(debian默认的就是这个)配置有问题,然后就开始重装centos,装好以后还是不行,一直以为配置有问题,看日志发现不通,然后突然想到阿里云屏蔽25端口,是不是腾讯云也屏蔽了25端口。结果不出意料真的屏蔽了。害我重装了好几次申请Let’s Encrypt免费证书的次数也用光了。
爱游博客
2019/08/07
3.1K0
WordPress SMTP发送邮件设置
Django SMTP发送邮件 email
拿到授权码后,填入settings.py中的EMAIL_HOST_PASSWORD="授权码"即可
Autooooooo
2020/11/09
1.4K0
Django SMTP发送邮件 email
vapor smtp发送邮件provider
最经几天一直在拜读Vapor中service的源码,连续几天上班途中和下班之后都是在翻看源码,从刚开始感觉云山雾绕到逐渐清晰
大话swift
2019/07/04
1.1K0
vapor smtp发送邮件provider
Golang 通过 smtp 发送邮件
package main import( "fmt" "net/smtp" "encoding/base64" ) //html,plain func SendMail( title,user,pswd,smtpserver,port,from,to,subject,body,format string ) error { bs64 := base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
李海彬
2018/03/20
1.4K0
SMTP邮件发送命令
第一步,远程登录smtp服务器 在命令行窗口输入 telnet smtp.163.com 25 然后回车 第二步,用户登录 输入 helo 163.com 回车,这是向服务器表明你的用户身份 250 OK 为服务器返回的确认信息,说明服务器认可了你的身份 输入 auth login 回车,这是告诉服务器你要输入用户名了(即登录邮箱时的用户名),服务器将返回一个确认信息334 这时就可以输入用户名了,注意这里的用户名需要编码后才能识别,即如果你的用户名是 fatbear@qq.com 那么你需要将fatbear进行 base64 编码,将编码结果输入命令提示符窗口。base64编码器可以在网上下到,是一个简单的小工具。 用户名输入成功后服务器返回一个334的确认信息。 用户名输入成功后,接着输入密码,密码同样是需经过 base64 编码后再输入。输入成功后服务器返回一个含‘successful’的信息,说明成功登录。 第三步,写信 输入 mail from:< > 回车 <>中填写发件人的邮箱,即你自己的邮箱名 输入 rcpt to:< > 回车 <>中填入收件人的邮箱 输入 data 回车 ,回车后就可以开始写邮件内容了 下面是data下的可选项: 输入 from:发件人名称 ,此项可任意填入,将显示在收件箱的‘发件人’一栏 输入 to:收件人名称 ,可任意填入,将显示在收件箱的‘收件人’一栏 输入 subject:信件主题 ,显示在收件箱的‘主题’一栏中 Content-Type: text/plain;charset=\"gb2312\ 此时需空一行,即在一空行直接回车,表示正文部分的开始 空行后输入信件的正文内容。 在正文输入结束时输入一个 . (英文输入法下的句号)回车,表示正文部分的结束。这时将显示邮件成功发送的信息。 关于正文输入汉字的问题, 在该窗口下视无法输入汉字的,可以在写字板中打好汉字后复制粘贴进去,且粘贴时只能使用鼠标右键而不能用快捷键,至少我的不行。
张泽旭
2018/12/10
1.4K0
python之SMTP发送邮件
假设我们自己的邮件地址是myemail@163.com,对方的邮件地址是friend@qq.com,我们在网易提供的163邮箱界面编写邮件,然后发送给对方。那么,这封邮件是怎么从我方发送到对方的呢?
菲宇
2019/06/13
1.3K0
不使用smtp直接发送邮件
用smtp发邮件挺蛋疼的,不是有配额限制就是有配额限制.所以我觉得应该有直接发送邮件的办法.回归到用命令行装逼的年代,我们是这样发信的: C:\>nslookup 默认服务器: google-public-dns-a.google.com Address: 8.8.8.8 > set type=mx > qq.com 服务器: google-public-dns-a.google.com Address: 8.8.8.8 非权威应答: qq.com MX preference = 10, mail
码农二狗
2018/06/29
2.8K1
点击加载更多

相似问题

Javafx拖放TabPane

20

JavaFX TabPane title OverrunStyle

11

更改JavaFX TabPane背景

11

JavaFx TabPane自动关闭

10

针对TabPane的JavaFX ProgressBar

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文