Jump to content

Archived

This topic is now archived and is closed to further replies.

eskimowned

Insert record into MYSQL table as part of PHPmailer script

Recommended Posts

I'm currently trying to insert a record into a database as part of the PHPmailer. This is the code I have so far but the insert row doesn't seem to be doing anything.

[code]<?php require_once('../../Connections/Conn1.php'); ?>
<?php
mysql_select_db($database_Conn1, $Conn1);
$query_UpdateCustInfo = "SELECT * FROM Customer";
$UpdateCustInfo = mysql_query($query_UpdateCustInfo, $Conn1) or die(mysql_error());
$row_UpdateCustInfo = mysql_fetch_assoc($UpdateCustInfo);
$totalRows_UpdateCustInfo = mysql_num_rows($UpdateCustInfo);

$company = $_POST['Company'];
$first = $_POST['FirstName'];
$last = $_POST['LastName'];
$event = $_POST['Event'];
$price = $_POST['Price'];

mysql_query("INSERT INTO CUSTOMER (Company, `First Name`, `Last Name`, Event, price) VALUES ('$Company', '$first', '$last', '$event', '$price')");
mysql_close();

// Grab our config settings
require_once($_SERVER['DOCUMENT_ROOT'].'/PHPdocs/phpmailer/config.php');

// Grab the FreakMailer class
require_once($_SERVER['DOCUMENT_ROOT'].'/PHPdocs/phpmailer/MailClass.inc');

// instantiate the class
$mailer = new FreakMailer();

// Set the subject
$mailer->Subject = 'This is a test';

$mailer->isHTML(true);

// Send the E-Mail
// Body
$mailer->Body = '<link href="http://www.womeninbusiness.co.uk/Templates/invoice.css" rel="stylesheet" type="text/css" />

<table width="700" border="0">
  <tr>
    <td><span class="normalboldstyle">Women In Business </span><span class="style16"><br />
      <span class="normalboldstyle">Egerton House | 2 Tower Road | Birkenhead | Wirral | CH41 1FN <br />
Telephone 07966 308405 <br />
www.womeninbusiness.co.uk</span></span></td>
    <td colspan="2"><div align="right"><img src="http://www.womeninbusiness.co.uk/images/WIBsphere.jpg" width="188" height="188" alt="WIBlogo" longdesc= /></div></td>
  </tr>
  <tr>
    <td colspan="3"><div align="center" class="largetitlestyle">Invoice</div></td>
  </tr>
  <tr>
    <td class="normalboldstyle">Inv No. </td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><span class="normalboldstyle">COMPANYNAME<br />
NAMES<br />
ADDRESS<br />
POSTCODE<br />
TELEPHONE</span></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="normalboldstyle">Course Name </td>
    <td class="normalboldstyle">Number of People </td>
    <td class="normalboldstyle"><div align="right">Cost </div></td>
  </tr>
  <tr>
    <td class="normalboldstyle">&nbsp;</td>
    <td class="normalboldstyle">&nbsp;</td>
    <td class="normalboldstyle"><div align="right">&pound;</div></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="3"><div align="center"><span class="smalltitlestyle">Payment by BACs to 12-24-81 - a/c no. 06073075 or by cheque payable to Women In Business</span></div></td>
  </tr>
</table>

<h2>WIB HTML test</h2>
<p>Visit us <a href="http://www.womeninbusiness.co.uk" title="Women In Business">Women In Business.co.uk</a> for a loving community!</p>

</p>Dear '. $first. '

<p>Sincerely,<br>
Shauns Web test </p>';

// Add an address to send to.
$mailer->AddAddress('shaun@designatedassociates.com', 'shaun');

if(!$mailer->Send())
{
  echo 'There was a problem sending this mail!';
}
else
{
  echo 'Mail sent!';
}
$mailer->ClearAddresses();
$mailer->ClearAttachments();
?>
<?php
mysql_free_result($UpdateCustInfo);
?>
[/code]


Any help is as ever - greatly appreciated.
Peace

Share this post


Link to post
Share on other sites

mysql_query("INSERT INTO CUSTOMER (Company, `First Name`, `Last Name`, Event, price) VALUES ('$Company', '$first', '$last', '$event', '$price')");
mysql_close();

you have quoted around the table field names, only quote the values.

if you have the following after your query  it will show what the problem is.   
or die(mysql_error());

Share this post


Link to post
Share on other sites
Just made those changes, the mail form works fine, but nothing seems to happen with the MYSQL - I get no error message either.

[code]<?php require_once('../../Connections/Conn1.php'); ?>
<?php
mysql_select_db($database_Conn1, $Conn1);
$query_UpdateCustInfo = "SELECT * FROM Customer";
$UpdateCustInfo = mysql_query($query_UpdateCustInfo, $Conn1) or die(mysql_error());
$row_UpdateCustInfo = mysql_fetch_assoc($UpdateCustInfo);
$totalRows_UpdateCustInfo = mysql_num_rows($UpdateCustInfo);

$company = $_POST['Company'];
$first = $_POST['FirstName'];
$last = $_POST['LastName'];
$event = $_POST['Event'];
$price = $_POST['Price'];

mysql_query("INSERT INTO CUSTOMER (Company, First Name, Last Name, Event, price) VALUES ('$Company', '$first', '$last', '$event', '$price')");
mysql_close() or die(mysql_error());

// Grab our config settings
require_once($_SERVER['DOCUMENT_ROOT'].'/PHPdocs/phpmailer/config.php');

// Grab the FreakMailer class
require_once($_SERVER['DOCUMENT_ROOT'].'/PHPdocs/phpmailer/MailClass.inc');

// instantiate the class
$mailer = new FreakMailer();

// Set the subject
$mailer->Subject = 'This is a test';

$mailer->isHTML(true);

// Send the E-Mail
// Body
$mailer->Body = '<link href="http://www.womeninbusiness.co.uk/Templates/invoice.css" rel="stylesheet" type="text/css" />

<table width="700" border="0">
  <tr>
    <td><span class="normalboldstyle">Women In Business </span><span class="style16"><br />
      <span class="normalboldstyle">Egerton House | 2 Tower Road | Birkenhead | Wirral | CH41 1FN <br />
Telephone 07966 308405 <br />
www.womeninbusiness.co.uk</span></span></td>
    <td colspan="2"><div align="right"><img src="http://www.womeninbusiness.co.uk/images/WIBsphere.jpg" width="188" height="188" alt="WIBlogo" longdesc= /></div></td>
  </tr>
  <tr>
    <td colspan="3"><div align="center" class="largetitlestyle">Invoice</div></td>
  </tr>
  <tr>
    <td class="normalboldstyle">Inv No. </td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><span class="normalboldstyle">COMPANYNAME<br />
NAMES<br />
ADDRESS<br />
POSTCODE<br />
TELEPHONE</span></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="normalboldstyle">Course Name </td>
    <td class="normalboldstyle">Number of People </td>
    <td class="normalboldstyle"><div align="right">Cost </div></td>
  </tr>
  <tr>
    <td class="normalboldstyle">&nbsp;</td>
    <td class="normalboldstyle">&nbsp;</td>
    <td class="normalboldstyle"><div align="right">&pound;</div></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="3"><div align="center"><span class="smalltitlestyle">Payment by BACs to 12-24-81 - a/c no. 06073075 or by cheque payable to Women In Business</span></div></td>
  </tr>
</table>

<h2>WIB HTML test</h2>
<p>Visit us <a href="http://www.womeninbusiness.co.uk" title="Women In Business">Women In Business.co.uk</a> for a loving community!</p>

</p>Dear '. $first. '

<p>Sincerely,<br>
Shauns Web test </p>';

// Add an address to send to.
$mailer->AddAddress('shaun@designatedassociates.com', 'shaun');

if(!$mailer->Send())
{
  echo 'There was a problem sending this mail!';
}
else
{
  echo 'Mail sent!';
}
$mailer->ClearAddresses();
$mailer->ClearAttachments();
?>
<?php
mysql_free_result($UpdateCustInfo);
?>
[/code]

Cheers in advance for anyones help.

Share this post


Link to post
Share on other sites
Aha - I get this error now.  ???

Parse error: syntax error, unexpected T_STRING in /hsphere/local/home/designat/womeninbusiness.co.uk/PHPdocs/phpmailer/invoicemail.php on line 15

I checked it, please tell me I've done something daft like left out an ";"

I hope not - a sure fire way to keep my noob status!  :D



Share this post


Link to post
Share on other sites
Ok - I've checked it and double checked it and I can't see anything amiss. Can someone put me out of my misery? And if your ever in Liverpool I'll buy ya a pint! :D

Share this post


Link to post
Share on other sites
Try this...

[code]
<?php
$sql = "INSERT INTO customer (`Company`, `First Name`, `Last Name`, `Event`, `price`) VALUES ('$Company', '$first', '$last', '$event', '$price')";
$inserted = mysql_query($sql) or die ("Can't execute sql\n\n$sql\n\n" . mysql_error());

if ($inserted == true){
  echo "Insert successful\n";
}
else {
  echo "Insert failed\n";
}
?>
[/code]

Regards
Huggie

Share this post


Link to post
Share on other sites
Line 15 is this:

[code=php:0]
mysql_query("INSERT INTO CUSTOMER (Company, First Name, Last Name, Event, price) VALUES ('$Company', '$first', '$last', '$event', '$price')");
[/code]

Regards
Huggie

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.