How to select and insert PHP Mysqli to the same table?












0















I am doing a one time sql select statement to see if a new record already exists in my database. If the record does not exist, then add the new record to the database.



That is all the logic to this code. Should be simple.



Error received: 1 Error description: Can't update table 'customer_info' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.



Please rewrite my code so I can see how to write similar code in the future.



//What type of record are we searching for? eid or pid?
if($checkid) {
$t1 = "SELECT * FROM `customer_info` WHERE `e_id` LIKE '" .$row['ename'] . "';";
} else {
$t1 = "SELECT * FROM `customer_info` WHERE `p_id` LIKE '" .$row['pId'] . "';";
}

//Run the mysqli check to find any matching records
if($result = $mysqli->query($t1)){
printf("Select returned %d rows.n<br>", $result->num_rows);
}

//If a record was found, present it. Else, prepare to insert the new data.
if($info = mysqli_fetch_assoc($result)) {
print_r($info);
} else{
foreach($row as $key => $value) {
$row["$key"] = str_replace("'","", $value);
}

//Remove junk characters (please suggest a better way to do this)
unset($row['message']);
$values = "DEFAULT, '" . implode("', '",$row). "', '0'";
$values = str_replace("''","'",$values);
$values = str_replace("', ', '", "', '",$values);

$sql = "INSERT INTO `customer_info`(`id`, `transaction`, `price`,`ebay_id`, `paypal_id`, `eBook`, `item_num`, `quantity`, `first`, `last`, `street`, `country`, `state`, `zipcode`,`download`) VALUES ($values);";

if(!mysqli_query($mysqli, $sql)) {
echo ("1 Error description: " . mysqli_error($mysqli));
$mysqli->close(); die();
} else {
mysqli_query($mysqli, $sql);
$status = imap_setflag_full($inbox, $email_number, "\Seen", ST_UID);
}
}









share|improve this question























  • I believe that the error is self-explanatory.

    – Funk Forty Niner
    Nov 22 '18 at 23:39











  • But this isn't looping? I'm confused.

    – Chenelle
    Nov 22 '18 at 23:45











  • There appears to be a trigger/function happening somewhere in one of your databases/tables. If you're using phpmyadmin, you can check which processes are running.

    – Funk Forty Niner
    Nov 22 '18 at 23:46
















0















I am doing a one time sql select statement to see if a new record already exists in my database. If the record does not exist, then add the new record to the database.



That is all the logic to this code. Should be simple.



Error received: 1 Error description: Can't update table 'customer_info' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.



Please rewrite my code so I can see how to write similar code in the future.



//What type of record are we searching for? eid or pid?
if($checkid) {
$t1 = "SELECT * FROM `customer_info` WHERE `e_id` LIKE '" .$row['ename'] . "';";
} else {
$t1 = "SELECT * FROM `customer_info` WHERE `p_id` LIKE '" .$row['pId'] . "';";
}

//Run the mysqli check to find any matching records
if($result = $mysqli->query($t1)){
printf("Select returned %d rows.n<br>", $result->num_rows);
}

//If a record was found, present it. Else, prepare to insert the new data.
if($info = mysqli_fetch_assoc($result)) {
print_r($info);
} else{
foreach($row as $key => $value) {
$row["$key"] = str_replace("'","", $value);
}

//Remove junk characters (please suggest a better way to do this)
unset($row['message']);
$values = "DEFAULT, '" . implode("', '",$row). "', '0'";
$values = str_replace("''","'",$values);
$values = str_replace("', ', '", "', '",$values);

$sql = "INSERT INTO `customer_info`(`id`, `transaction`, `price`,`ebay_id`, `paypal_id`, `eBook`, `item_num`, `quantity`, `first`, `last`, `street`, `country`, `state`, `zipcode`,`download`) VALUES ($values);";

if(!mysqli_query($mysqli, $sql)) {
echo ("1 Error description: " . mysqli_error($mysqli));
$mysqli->close(); die();
} else {
mysqli_query($mysqli, $sql);
$status = imap_setflag_full($inbox, $email_number, "\Seen", ST_UID);
}
}









share|improve this question























  • I believe that the error is self-explanatory.

    – Funk Forty Niner
    Nov 22 '18 at 23:39











  • But this isn't looping? I'm confused.

    – Chenelle
    Nov 22 '18 at 23:45











  • There appears to be a trigger/function happening somewhere in one of your databases/tables. If you're using phpmyadmin, you can check which processes are running.

    – Funk Forty Niner
    Nov 22 '18 at 23:46














0












0








0








I am doing a one time sql select statement to see if a new record already exists in my database. If the record does not exist, then add the new record to the database.



That is all the logic to this code. Should be simple.



Error received: 1 Error description: Can't update table 'customer_info' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.



Please rewrite my code so I can see how to write similar code in the future.



//What type of record are we searching for? eid or pid?
if($checkid) {
$t1 = "SELECT * FROM `customer_info` WHERE `e_id` LIKE '" .$row['ename'] . "';";
} else {
$t1 = "SELECT * FROM `customer_info` WHERE `p_id` LIKE '" .$row['pId'] . "';";
}

//Run the mysqli check to find any matching records
if($result = $mysqli->query($t1)){
printf("Select returned %d rows.n<br>", $result->num_rows);
}

//If a record was found, present it. Else, prepare to insert the new data.
if($info = mysqli_fetch_assoc($result)) {
print_r($info);
} else{
foreach($row as $key => $value) {
$row["$key"] = str_replace("'","", $value);
}

//Remove junk characters (please suggest a better way to do this)
unset($row['message']);
$values = "DEFAULT, '" . implode("', '",$row). "', '0'";
$values = str_replace("''","'",$values);
$values = str_replace("', ', '", "', '",$values);

$sql = "INSERT INTO `customer_info`(`id`, `transaction`, `price`,`ebay_id`, `paypal_id`, `eBook`, `item_num`, `quantity`, `first`, `last`, `street`, `country`, `state`, `zipcode`,`download`) VALUES ($values);";

if(!mysqli_query($mysqli, $sql)) {
echo ("1 Error description: " . mysqli_error($mysqli));
$mysqli->close(); die();
} else {
mysqli_query($mysqli, $sql);
$status = imap_setflag_full($inbox, $email_number, "\Seen", ST_UID);
}
}









share|improve this question














I am doing a one time sql select statement to see if a new record already exists in my database. If the record does not exist, then add the new record to the database.



That is all the logic to this code. Should be simple.



Error received: 1 Error description: Can't update table 'customer_info' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.



Please rewrite my code so I can see how to write similar code in the future.



//What type of record are we searching for? eid or pid?
if($checkid) {
$t1 = "SELECT * FROM `customer_info` WHERE `e_id` LIKE '" .$row['ename'] . "';";
} else {
$t1 = "SELECT * FROM `customer_info` WHERE `p_id` LIKE '" .$row['pId'] . "';";
}

//Run the mysqli check to find any matching records
if($result = $mysqli->query($t1)){
printf("Select returned %d rows.n<br>", $result->num_rows);
}

//If a record was found, present it. Else, prepare to insert the new data.
if($info = mysqli_fetch_assoc($result)) {
print_r($info);
} else{
foreach($row as $key => $value) {
$row["$key"] = str_replace("'","", $value);
}

//Remove junk characters (please suggest a better way to do this)
unset($row['message']);
$values = "DEFAULT, '" . implode("', '",$row). "', '0'";
$values = str_replace("''","'",$values);
$values = str_replace("', ', '", "', '",$values);

$sql = "INSERT INTO `customer_info`(`id`, `transaction`, `price`,`ebay_id`, `paypal_id`, `eBook`, `item_num`, `quantity`, `first`, `last`, `street`, `country`, `state`, `zipcode`,`download`) VALUES ($values);";

if(!mysqli_query($mysqli, $sql)) {
echo ("1 Error description: " . mysqli_error($mysqli));
$mysqli->close(); die();
} else {
mysqli_query($mysqli, $sql);
$status = imap_setflag_full($inbox, $email_number, "\Seen", ST_UID);
}
}






php select mysqli insert stored-functions






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 22 '18 at 23:21









ChenelleChenelle

941515




941515













  • I believe that the error is self-explanatory.

    – Funk Forty Niner
    Nov 22 '18 at 23:39











  • But this isn't looping? I'm confused.

    – Chenelle
    Nov 22 '18 at 23:45











  • There appears to be a trigger/function happening somewhere in one of your databases/tables. If you're using phpmyadmin, you can check which processes are running.

    – Funk Forty Niner
    Nov 22 '18 at 23:46



















  • I believe that the error is self-explanatory.

    – Funk Forty Niner
    Nov 22 '18 at 23:39











  • But this isn't looping? I'm confused.

    – Chenelle
    Nov 22 '18 at 23:45











  • There appears to be a trigger/function happening somewhere in one of your databases/tables. If you're using phpmyadmin, you can check which processes are running.

    – Funk Forty Niner
    Nov 22 '18 at 23:46

















I believe that the error is self-explanatory.

– Funk Forty Niner
Nov 22 '18 at 23:39





I believe that the error is self-explanatory.

– Funk Forty Niner
Nov 22 '18 at 23:39













But this isn't looping? I'm confused.

– Chenelle
Nov 22 '18 at 23:45





But this isn't looping? I'm confused.

– Chenelle
Nov 22 '18 at 23:45













There appears to be a trigger/function happening somewhere in one of your databases/tables. If you're using phpmyadmin, you can check which processes are running.

– Funk Forty Niner
Nov 22 '18 at 23:46





There appears to be a trigger/function happening somewhere in one of your databases/tables. If you're using phpmyadmin, you can check which processes are running.

– Funk Forty Niner
Nov 22 '18 at 23:46












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53439016%2fhow-to-select-and-insert-php-mysqli-to-the-same-table%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53439016%2fhow-to-select-and-insert-php-mysqli-to-the-same-table%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Wiesbaden

Marschland

Dieringhausen