我通过a.php页面通过url向b.php页面传递了两个参数,并通过b.php页面向mysql数据库写入传递的这两个参数,为什么在数据库中增添了两条相同的记录,但如果不传参数就正常写入一天记录,改为传递一个参数也会写入两个相同的记录,这是写入记录的代码:
<?phpheader("Content-Type:text/html; charset=utf-8");include('MY_PHP_file/mysql_connect.php');$sql = "INSERT INTO user_action (user_id, relation_id, concern_time) VALUES ({$_GET['user_id']}, {$_GET['relation_id']}, now())";// $sql = "INSERT INTO user_action (user_id, relation_id, concern_time) VALUES (0, 9, now())";if(mysql_query($sql));echo '<script>alert(\'操作成功!!\'); location.href=\'user_action.php\';</script>';// else// echo '<script>alert("操作失败,请重试!!"); location.href="user_action.php";</script>';?>
这个问题弄一天了,望大神指导
回复讨论(解决方案)
你不是说搞定了吗?
按照你的 sql 指令串
$sql = "INSERT INTO user_action (user_id, relation_id, concern_time) VALUES ({$_GET['user_id']}, {$_GET['relation_id']}, now())";
当不传递参数时实际执行的是
INSERT INTO user_action (user_id, relation_id, concern_time) VALUES (, , now())
这是错误的指令,不可能有数据插入
但你却说“如果不传参数就正常写入一条记录”,显然这条记录是在其他地方插入的
你的代码不止这一点吧,可能受其他地方影响了。
你不是说搞定了吗?
按照你的 sql 指令串
$sql = "INSERT INTO user_action (user_id, relation_id, concern_time) VALUES ({$_GET['user_id']}, {$_GET['relation_id']}, now())";
当不传递参数时实际执行的是
INSERT INTO user_action (user_id, relation_id, concern_time) VALUES (, , now())
这是错误的指令,不可能有数据插入
但你却说“如果不传参数就正常写入一条记录”,显然这条记录是在其他地方插入的
就是因为传递参数后会插入两条数据,所以有一条是用来测试了!之前极少概率会正确插入一条,所以应该是参数的问题
你不是说搞定了吗?
按照你的 sql 指令串
$sql = "INSERT INTO user_action (user_id, relation_id, concern_time) VALUES ({$_GET['user_id']}, {$_GET['relation_id']}, now())";
当不传递参数时实际执行的是
INSERT INTO user_action (user_id, relation_id, concern_time) VALUES (, , now())
这是错误的指令,不可能有数据插入
但你却说“如果不传参数就正常写入一条记录”,显然这条记录是在其他地方插入的
他的问题感觉就是页面跳转的时候的问题。可能不像他描述的只有这部分的代码,他全部的代码可能在执行这个点击的时候执行了其他插入数据库的操作,能不能加个参数,识别是通过本页面(本点击操作)传递插入值的,也就是mysql中user_id, relation_id, concern_time后再加一个字段s_url然后把值插入进去,看看两条记录中s_url的值是不是一样的
我通过a.php页面通过url向b.php页面传递了两个参数,并通过b.php页面向mysql数据库写入传递的这两个参数
先直接调用b.php 看看是否插入两条记录。
如果b.php正常,则问题在a.php,反之亦然。
只看你提供的代码,是不会插入两条记录,因为只有一条insert语句。
楼主你看下从a页面到b页面的请求头是不是有Referer信息,这个可能会造成重复发送语句的问题。再试试直接在地址栏输入b页面地址带上参数看看会不会写入相同的数据

TomodifydatainaPHPsession,startthesessionwithsession_start(),thenuse$_SESSIONtoset,modify,orremovevariables.1)Startthesession.2)Setormodifysessionvariablesusing$_SESSION.3)Removevariableswithunset().4)Clearallvariableswithsession_unset().5)Destroythe

Arrays can be stored in PHP sessions. 1. Start the session and use session_start(). 2. Create an array and store it in $_SESSION. 3. Retrieve the array through $_SESSION. 4. Optimize session data to improve performance.

PHP session garbage collection is triggered through a probability mechanism to clean up expired session data. 1) Set the trigger probability and session life cycle in the configuration file; 2) You can use cron tasks to optimize high-load applications; 3) You need to balance the garbage collection frequency and performance to avoid data loss.

Tracking user session activities in PHP is implemented through session management. 1) Use session_start() to start the session. 2) Store and access data through the $_SESSION array. 3) Call session_destroy() to end the session. Session tracking is used for user behavior analysis, security monitoring, and performance optimization.

Using databases to store PHP session data can improve performance and scalability. 1) Configure MySQL to store session data: Set up the session processor in php.ini or PHP code. 2) Implement custom session processor: define open, close, read, write and other functions to interact with the database. 3) Optimization and best practices: Use indexing, caching, data compression and distributed storage to improve performance.

PHPsessionstrackuserdataacrossmultiplepagerequestsusingauniqueIDstoredinacookie.Here'showtomanagethemeffectively:1)Startasessionwithsession_start()andstoredatain$_SESSION.2)RegeneratethesessionIDafterloginwithsession_regenerate_id(true)topreventsessi

In PHP, iterating through session data can be achieved through the following steps: 1. Start the session using session_start(). 2. Iterate through foreach loop through all key-value pairs in the $_SESSION array. 3. When processing complex data structures, use is_array() or is_object() functions and use print_r() to output detailed information. 4. When optimizing traversal, paging can be used to avoid processing large amounts of data at one time. This will help you manage and use PHP session data more efficiently in your actual project.

The session realizes user authentication through the server-side state management mechanism. 1) Session creation and generation of unique IDs, 2) IDs are passed through cookies, 3) Server stores and accesses session data through IDs, 4) User authentication and status management are realized, improving application security and user experience.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Dreamweaver CS6
Visual web development tools

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Atom editor mac version download
The most popular open source editor

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.
